![]() |
DelphiX und DirectInput
Hallo,
warum funktioniert folgender Code nicht?
Delphi-Quellcode:
Gruß
type
tcar = class(timagesprite) private public procedure DoMove(MoveCount: Integer); override; end; var Form1: TForm1; car: tcar; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin car := tcar.Create(dxspriteengine1.Engine); car.Image := dximagelist1.Items.Find('1'); car.X := 0; car.Y := 0; car.Width := car.Image.Width; car.Height := car.Image.Height; form1.DoubleBuffered := true; dxdraw1.DoubleBuffered := true; end; procedure tcar.DoMove(movecount: integer); begin if isLeft in Form1.DxInput1.States then car.X := car.X -3; if isRight in Form1.DxInput1.States then car.X := car.X +3; end; procedure TForm1.FormPaint(Sender: TObject); begin form1.dxspriteengine1.Draw; form1.dxdraw1.Flip; end; procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer); begin form1.dxspriteengine1.Draw; form1.dxdraw1.Flip; end; end. Spurius |
Re: DelphiX und DirectInput
Hi,
Du mit in deine Timer Methode DYINPUT.update; reinbringen dann muss es gehn denke ich so nach überfliegen deines Codes! @wardz |
Re: DelphiX und DirectInput
So mäüsste dann dein Timercode aussehn!
Delphi-Quellcode:
@wardz
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin dxinput1.Update;//Wichtig um die Keys zu überprüfen dxspriteengine1.Move(0);//Sprites werden bewegt dxspriteengine1.Dead; //gelöschte sprites werden entfernt sonst sieht man alle je gezeichneten Sprites dxspriteengine1.Draw;//Sprites werden gezeichnet DXDraw1.Flip;//Screen wird ausgegeben! end; |
Re: DelphiX und DirectInput
Hallo,
jetzt bewegt es sich zwar, aber die alten Sprites werden nicht gelöscht.
Delphi-Quellcode:
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin dxinput1.Update; dxspriteengine1.Move(0); dxspriteengine1.Dead; dxspriteengine1.Draw; dxdraw1.Flip; end; |
Re: DelphiX und DirectInput
Zitat:
|
Re: DelphiX und DirectInput
Stimmt hate ich vergessen muss du hinzufügen wenn wenn du keinen BAckgroundsprite erstellt hast!
@wardz |
Re: DelphiX und DirectInput
hi,
ohne den Befehl: DXDraw1.Surface.Fill(0); Wird es nicht gehen. Der Befehl, macht den Hintegrund Schwarz. -homer- |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz