![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание своих типов...
Agent[007] © (2003-09-10 15:04:00)У нас есть тип(выстрел из базуки):
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;
Agent[007] (2003-09-13 20:52:00) [1].................................................................
Я все понял... надо бало Z:=1 написать...
.................................................................
А можете подсказать, как сделать зеркальное отражение TImageSprite?
Agent[007] (2003-09-13 09:36:00) [2]Так в примере на GameDev было... И так у меня ниче не тормозит...
К тому же так рациональнее, ести неизвестно, сколько объектов TBaz надо...
MeF88 (2003-09-13 09:18:00) [3]Кстати, а как она у тя отрисовывается? Я DelphiX конечно не помню, но не лучше было бы создать Baz:TBaz и уже потом делать Baz:=TBaz.Create...
Agent[007] (2003-09-12 19:11:00) [4]Оно обрабатывается... Но не создается... Я и так до вас это проверил...
К тому же картинка не создается вDXTimerTimerиTPlayerSprite.DoMoveпослеif is... in DXInput.States...
MeF88 (2003-09-12 10:30:00) [5]Есть такая полезные кнопки, как F7 и F8. А также есть такая очень полезная вещь, как брэкпоинты, breakpoints(что-то вроде). Вот их и юзай.
Кстати, а почему MouseUp, а не MouseDown.
P.S. Прикалывает меня эта тема. Похоже на случай, когда кто-то звонит по сотовому и спрашивает: "Ты где?" А он отвечает: "Здесь."
cyborg (2003-09-12 08:20:00) [6]Всё должно работать. Поставь в начале проигрывание звука Beep например или ещё какой нибудь, если будет бибикать, значит обрабатывается, затем его в mbLeft помести и опять послушай.
Agent[007] (2003-09-12 07:26:00) [7]
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-11 21:51:00) [8]Ты исходник покажешь или нет?
Давай DXDrawMouseUp сюда полностью.
Agent[007] (2003-09-11 21:20:00) [9]Это юмор такой?
cyborg (2003-09-11 21:08:00) [10]А, ну тогда на 17 строке ошибка.
Agent[007] (2003-09-11 19:49:00) [11]1000 строк...
cyborg (2003-09-11 16:26:00) [12]Из проекта, который не работает.
Agent[007] (2003-09-11 13:00:00) [13]px и py = 0... А какой именно код?
cyborg (2003-09-11 08:18:00) [14]Ты покажи кусок кода, где не работает, а не вырезанную часть.
Координаты XY ставятся в 0, может поэтому ты их не видишь?
Agent[007] (2003-09-11 06:02:00) [15]Народ! Ну помогите мне, бедняге...
Agent[007] (2003-09-10 16:17:00) [16]У меня там есть ещё
if Button=mbRight then
begin
...
end;
И это обрабатывается...
PS: 0.711111111112 - коэффициент для нормальных поворотов
Agent[007] (2003-09-10 16:15:00) [17]У меня там есть ещё
if Button=mbRight then
begin
...
end;
И это обрабатывается...
cyborg (2003-09-10 15:15:00) [18]Не работает как?
Если вообще не обрабатывается событие при отпускании кнопки, то мышка была нажата не на форме.