[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Collision
KISHECHNIKДата: Суббота, 10 Ноября 2007, 19:27 | Сообщение # 1
Morbidomaniac
Группа: Участники
Сообщений: 134
Награды: 0
Замечания: 0%
Статус:

Профессия: virtual grinder
Проблема! Нужно, чтобы при столкновении двух одинаковых спрайтов оба скоропостижно скончались.
Code
TPul = class(TImageSprite)
    a,b: integer;
    protected
     [b]procedure DoCollision(Sprite: TSprite; var Done: boolean); override;[/b]
     procedure DoMove(MoveCount: integer); override;
    public
     constructor Create(AParent: TSprite); override;
     destructor Destroy; override;
   end;

И вот сама процедура:

Code
procedure TPul.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
     if Sprite is TPul then dead;
     Collision;
end;

По идее должно работать, или для одинаковых спрайтов это нужно делать как-то по другому?

 
KISHECHNIKДата: Воскресенье, 11 Ноября 2007, 16:30 | Сообщение # 2
Morbidomaniac
Группа: Участники
Сообщений: 134
Награды: 0
Замечания: 0%
Статус:

Профессия: virtual grinder
Проблема решилась легко - энтот Collision нужно прописывать ещё и для DoMove.
 
AD77RootДата: Воскресенье, 11 Ноября 2007, 21:26 | Сообщение # 3
Гиперсексуальная белка
Группа: Администрация
Сообщений: 1226
Награды: 0
Статус:

Профессия: Администратор
Сам решает свои проблемы. Молодец!

 
  • Страница 1 из 1
  • 1
Поиск: