Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 23.01.2009, 22:43   #1
NickDev
AnyKey`щик
 
Регистрация: 23.01.2009
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Как сделать задержку у анимации

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

Анимация происходит очень быстро, если в цикле поставить 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

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

Последний раз редактировалось NickDev, 23.01.2009 в 22:57.
(Offline)
 
Ответить с цитированием
Старый 23.01.2009, 22:53   #2
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Как сделать задержку у анимации

загони взрыв в тип для того, чтобы не ограничиваться только одним взрывом на экране
переменную фрейма во флоат
и прибавляй не целое значение, а дробное
__________________
(Offline)
 
Ответить с цитированием
Старый 23.01.2009, 23:00   #3
NickDev
AnyKey`щик
 
Регистрация: 23.01.2009
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как сделать задержку у анимации

извини....обьясни как кадр может быть дробным?

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

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

Последний раз редактировалось NickDev, 23.01.2009 в 23:08.
(Offline)
 
Ответить с цитированием
Старый 23.01.2009, 23:12   #4
NickDev
AnyKey`щик
 
Регистрация: 23.01.2009
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как сделать задержку у анимации

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

Последний раз редактировалось NickDev, 24.01.2009 в 18:56.
(Offline)
 
Ответить с цитированием
Старый 24.01.2009, 18:44   #5
NickDev
AnyKey`щик
 
Регистрация: 23.01.2009
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как сделать задержку у анимации

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

Последний раз редактировалось NickDev, 24.01.2009 в 18:55.
(Offline)
 
Ответить с цитированием
Старый 24.01.2009, 18:53   #6
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Re: Как сделать задержку у анимации

ты сначала попробуй, а потом спрашивай - команда millisecs...
терь нормально идет анимация, всем спс =)
Народ, че молчим?)
ыы ?
(Offline)
 
Ответить с цитированием
Старый 24.01.2009, 18:55   #7
jimon
 
Сообщений: n/a
Ответ: Как сделать задержку у анимации

NickDev
сделай привязку к времени
типа if GetGameTime() > 200 then animate ...
 
Ответить с цитированием
Старый 24.01.2009, 19:46   #8
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Как сделать задержку у анимации

Блин, я сразу написал правильный ответ.

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

Ну попробуй ты, а потом уже пиши - не получилось и тд.
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена Анимации. Ganociy Blitz3D 22 04.12.2009 19:10
Коллизия в анимации Kyard 3D-программирование 1 27.06.2009 20:18
импорт анимации karry 3D-программирование 21 22.05.2009 21:34
Экспорт анимации в md2 Crystal 3D-программирование 20 10.02.2008 18:39
Анимации. Как загрузить много анимаций? Nunan 3D-программирование 23 18.01.2007 02:20


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com