Войти

Показать полную графическую версию : Переменные в типах в DelphiX для Delphi 7


Poma
15-06-2004, 14:39
У меня есть тип (например TPlayer), у енго в public есть переменные скорости. Объектов этого типа много. Как в DoCollision считать эту переменную у спрайта с которым я столкнулся (не self a sprite), ведь там передается TSprite а не TPlayer а у него этой переменной нет?

Prisoner
17-06-2004, 00:25
Вот так вот... стоило три дня не побывать на форуме и теряешь форму. Poma, будьте добры разверните вопрос, пожалуйста, я не догоняю :\

Poma
17-06-2004, 11:27
А ты знаешь что такое DelphiX?

отрывки кода выглядят вот так:

type TBall=class(TImageSprite)
protected
*procedure DoMove(MoveCount: integer); override;
*procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
public
*vx,vy:integer; //Вот эти переменные
*constructor Create(AParent: TSprite); override;
*destructor Destroy; override;
end;

...

procedure TBall.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if Sprite is TBall then begin
{Вот здесь мне надо работать с переменными Sprite.vx и Sprite.vy. У меня уже выясненно что класс Sprite - TBall но он все еще остается Sprite'ом и у него этих переменных нет}
end;
end;

igoreha
17-06-2004, 12:40
> А ты знаешь что такое DelphiX?
Не знаю :-( Просвети безграмотного или дай ссылку почитать.

Может так?

procedure TBall.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
 if Sprite is TBall then begin
   (Sprite as TBall).vx := Бла-Бла; // Или так
   TBall(Sprite).vx := Бла-Бла; // или так
 end;
end;

Poma
18-06-2004, 20:51
Так и знал что будут спрашивать.
DelphiX это классный компонент для delphi для создания игр. Научиться его использованию можно на www.daddy.h1.ru и http://www.gamedev.ru/coding/20524.shtml

А за подсказку большое спасибо. Все работает.

Guest
23-06-2004, 16:52
Poma
А при чем тут DelphiX если Вы не владеете азами Delphi?
И почему для ответа на вопрос надо знать, что такое DelphiX?




© OSzone.net 2001-2012