forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Как сделать задержку у анимации (http://forum.boolean.name/showthread.php?t=7692)

NickDev 23.01.2009 22:43

Как сделать задержку у анимации
 
Привет народ.Я делаю игру арканоид, уже почти всё готово, и у меня возникает проблема с анимацией.

Анимация происходит очень быстро, если в цикле поставить delay, то тормозится вся игра, как сделать небольшую задержку в анимации, подскажите начинающему.

вот код анимации взрыва астероида при столкновении с кораблем игрока

For s.ship=Each ship
....For ast.asteroid=Each asteroid
.......If ImagesCollide(img_ship,s\x,s\y,0,img_ast,ast\x,ast \y,0) Then
..........DrawImage img_dship,s\x-48,s\y-50
......;анимация врзыва астероида
..........frame=frame+1
.......If frame>10 Then frame=0
.........DrawImage img_ex_ast,ast\x,ast\y,frame
.......Delete ast
......;конец анимации
........If score>0
..........score=score-100
........EndIf
........If health_ind>0
..........health_ind=health_ind-5
........EndIf
......Exit
....EndIf
..Next
Next

отформатировал как смог), чтобы удобнее читать
:SOS:

tormoz 23.01.2009 22:53

Ответ: Как сделать задержку у анимации
 
загони взрыв в тип для того, чтобы не ограничиваться только одним взрывом на экране
переменную фрейма во флоат
и прибавляй не целое значение, а дробное

NickDev 23.01.2009 23:00

Ответ: Как сделать задержку у анимации
 
извини....обьясни как кадр может быть дробным?

frame это 1 кадр всего в 10 кадров
if frame>10 then frame=0 это чтобы он заново запускал анимацию если кадр больше 10

тип щас сделаю, спс

NickDev 23.01.2009 23:12

Ответ: Как сделать задержку у анимации
 
кажется я нашел решение, я удалял астероид слишком рано
If frame>=10 Then Delete ast
теперь нормально идет анимация

NickDev 24.01.2009 18:44

Ответ: Как сделать задержку у анимации
 
я не услышал ответ, как сделать задержку у анимации,
например задача такая сделать, чтобы астероиды медленно вращались
Вообще ябы хотел узнать есть ли какойнибудь способ затормозить какойто обьект не тормозя игру(как делает Delay)

NitE 24.01.2009 18:53

Re: Как сделать задержку у анимации
 
ты сначала попробуй, а потом спрашивай - команда millisecs...
Цитата:

терь нормально идет анимация, всем спс =)
Цитата:

Народ, че молчим?)
ыы ?

jimon 24.01.2009 18:55

Ответ: Как сделать задержку у анимации
 
NickDev
сделай привязку к времени
типа if GetGameTime() > 200 then animate ...

tormoz 24.01.2009 19:46

Ответ: Как сделать задержку у анимации
 
Блин, я сразу написал правильный ответ.

Цитата:

переменную фрейма во флоат
и прибавляй не целое значение, а дробное
Задолбали вы нубы своим недоверием и тупостью (сорри вспылил)

Ну попробуй ты, а потом уже пиши - не получилось и тд.


Часовой пояс GMT +4, время: 08:34.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot