Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Создание своих типов...   Найти похожие ветки 

 
Agent[007]   (2003-09-10 15:04) [0]

У нас есть тип(выстрел из базуки):

type
TBaz = class(TImageSpriteEx)
 protected
  procedure DoMove(MoveCount: Integer); override;
 public
  constructor Create(AParent: TSprite); override;
  destructor Destroy; override;
 end;

Создание происходит только так:

procedure TMain.FormCreate(Sender: TObject);
begin
 with TBaz.Create(DXSpriteEngine.Engine) do
  begin
   PixelCheck:=True;
   X:=px;
   Y:=py;
   Angle:=Trunc(90*0.711111111112);
  end;
end;

Вопрос: почему это не работает в этом случае:

procedure TMain.DXDrawMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
 with TBaz.Create(DXSpriteEngine.Engine) do
  begin
   PixelCheck:=True;
   X:=0;
   Y:=0;
   Angle:=Trunc(90*0.711111111112);
  end;
end;


 
cyborg ©   (2003-09-10 15:15) [1]

Не работает как?

Если вообще не обрабатывается событие при отпускании кнопки, то мышка была нажата не на форме.


 
Agent[007]   (2003-09-10 16:15) [2]

У меня там есть ещё

if Button=mbRight then
 begin
  ...
 end;

И это обрабатывается...


 
Agent[007]   (2003-09-10 16:17) [3]

У меня там есть ещё

if Button=mbRight then
 begin
  ...
 end;

И это обрабатывается...

PS: 0.711111111112 - коэффициент для нормальных поворотов


 
Agent[007]   (2003-09-11 06:02) [4]

Народ! Ну помогите мне, бедняге...


 
cyborg ©   (2003-09-11 08:18) [5]

Ты покажи кусок кода, где не работает, а не вырезанную часть.
Координаты XY ставятся в 0, может поэтому ты их не видишь?


 
Agent[007]   (2003-09-11 13:00) [6]

px и py = 0... А какой именно код?


 
cyborg ©   (2003-09-11 16:26) [7]

Из проекта, который не работает.


 
Agent[007]   (2003-09-11 19:49) [8]

1000 строк...


 
cyborg ©   (2003-09-11 21:08) [9]

А, ну тогда на 17 строке ошибка.


 
Agent[007]   (2003-09-11 21:20) [10]

Это юмор такой?


 
cyborg ©   (2003-09-11 21:51) [11]

Ты исходник покажешь или нет?
Давай DXDrawMouseUp сюда полностью.


 
Agent[007]   (2003-09-12 07:26) [12]

procedure TMain.DXDrawMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
 begin
  Rotat:=not(Rotat);
 end;

if Button=mbLeft then
 with TBaz.Create(DXSpriteEngine.Engine) do
  begin
   X:=320;
   Y:=240;
   Angle:=Trunc(90*0.711111111112);
  end;
end;


Rotat - определяет повернут ли игрок спиной вперёд.


 
cyborg ©   (2003-09-12 08:20) [13]

Всё должно работать. Поставь в начале проигрывание звука Beep например или ещё какой нибудь, если будет бибикать, значит обрабатывается, затем его в mbLeft помести и опять послушай.


 
MeF88 ©   (2003-09-12 10:30) [14]

Есть такая полезные кнопки, как F7 и F8. А также есть такая очень полезная вещь, как брэкпоинты, breakpoints(что-то вроде). Вот их и юзай.

Кстати, а почему MouseUp, а не MouseDown.

P.S. Прикалывает меня эта тема. Похоже на случай, когда кто-то звонит по сотовому и спрашивает: "Ты где?" А он отвечает: "Здесь."


 
Agent[007]   (2003-09-12 19:11) [15]

Оно обрабатывается... Но не создается... Я и так до вас это проверил...
К тому же картинка не создается в DXTimerTimer и TPlayerSprite.DoMove после if is... in DXInput.States...


 
MeF88 ©   (2003-09-13 09:18) [16]

Кстати, а как она у тя отрисовывается? Я DelphiX конечно не помню, но не лучше было бы создать Baz:TBaz и уже потом делать Baz:=TBaz.Create...


 
Agent[007]   (2003-09-13 09:36) [17]

Так в примере на GameDev было... И так у меня ниче не тормозит...
К тому же так рациональнее, ести неизвестно, сколько объектов TBaz надо...


 
Agent[007]   (2003-09-13 20:52) [18]

.................................................................
Я все понял... надо бало Z:=1 написать...
.................................................................

А можете подсказать, как сделать зеркальное отражение TImageSprite?



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
3-1078816971
Лысый
2004-03-09 10:22
2004.04.04
Готовое приложение


1-1078996316
Karlson
2004-03-11 12:11
2004.04.04
Компонент на компоненте


4-1074462161
Prov
2004-01-19 00:42
2004.04.04
как спрятать приложение(не смешно)


1-1079101765
}|{yk
2004-03-12 17:29
2004.04.04
Хорошо, посылаю я сообщение другому приложению BroadcastSystemMes


14-1078937508
Delphi5.01
2004-03-10 19:51
2004.04.04
Nujnen sovet starih asov