![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Collision на каждом кадре анимации [Delphi, Windows]
Cash © (2004-04-02 17:10:00)DelphiX
Делаю спрайт с анимированной картинкой. И, что самое интересное, столкновения проверяются когда AnimPos=0. А в остальном периоде фигня.
?А как собственно от ентого изьбавиться.
Cash (2004-04-13 13:14:00) [1]Thor: Ну вот так.
Спрайты создаются как и у всех [TUnit = class(TImageSprite)]
(TUnit, TAnSprite)
TAnSprite анимируется по AnimSpeed.
Collision выполняется у TUnit [ if Sprite is TAnSprite then begin ... end; ], вызывается в TUnit.DoMove.
И в игре TUnit наезжает на TAnSprite и, прямо заметно на первом кадре анимации срабатывает TUnit.Collision, с рывками проходит сквозь.
OSokin (2004-04-05 19:28:00) [2]А у меня вообще вот такая штука была. Я начал писать игру-танчики и при уничтожении вражеского танка он сам иногда вылетал вместо патрона. Исправить не смог, потому что, как мне кажется, все написано правильно. А затык произошел в самом начале.
Thor (2004-04-04 21:02:00) [3]а что именно за фигня?
приведи код, как ты создаешь спрайты, как и где задаешь их чередование, где у тебя коллижн.
Cash (2004-04-04 09:39:00) [4]Я оба варианта пробовал: PixelCheck:=true - никак, как и с PixelCheck:=false;
Thor (2004-04-02 18:19:00) [5]странно.
если мне не изменяет память, то у меня коллизии работали всегда.
ты PixelCheck поставил?