![]() |
DelphiX+ Dxspriteengine1.Move(1) or TObjekt.DoMove
Wer meine Threads gelesen hat, weiss schon, dass es sich hier wieder um ein Rollenspiel-Problem handelt. :wink: Man muss aber nicht die vorherigen kennen, um das jetztige Problem lösen zu können.
Hab nun alles hinbekommen, was nichts mit der Maus zu tun hat: Also Gegner und Bewegung (Spieler im Mittelpunkt, Umgenung bewegt sich). :P Ich habe eigentlich nicht ein Problem sondern Fragen zu Dxspriteengine1.Move(1) und TObjekt.DoMove. TPlayer und TGegner sind beide von der Spriteengine1 (Dxspriteengine1). Nun will ich aber eine unterschiedlich schnelle Bewegung. Das sich zB. TPlayer alle 0.4 sec bewegt und TGegner alle 0.6 sec bewegt. Ich muss noch hinzufügen, dass die DoMove prozedure des Gegners sowohl die Geschwindigkeit des Spielers (0.4) als auch die Geschwindigkeit 0.6 beinhaltet. Damit dies verschtändlicher wird, habe ich hier ein Beispiel:
Delphi-Quellcode:
Mein Problem ist mit einem Timer gelöst worden, mit folgendem inhalt:
Procedure TGegner.DoMove(MoveCount: Integer);
Begin Inherited domove(movecount); If isup in form1.dxinput1.states Then y:=y+32; If isleft in form1.dxinput1.states Then x:=x+32; If isdown in form1.dxinput1.states Then y:=y-32; If isright in form1.dxinput1.states Then x:=x-32; //Wären die 0.4 sec. Es bewegt sich ja nicht der Player, //sondern alles um ihn herum. Das ist die Bewegung, wenn sich //der Player bewegt. If (X>-1) and (X<416) then begin //Beginn der Bewegung des Gegners. dieser Bewegt sich alle 0.6 sec If (Y>-1) and (Y<288) then begin ... collision; end;
Delphi-Quellcode:
Aber das funktioniert natürlich nicht besonders, da ich die Geschwindigkeit des Gegners nicht gut regulieren kann
Dxspriteengine1.Move(1);
und der Gegner kann nie schneller als der Spieler sein und noch viele weitere Probleme. PS: Wichtig ist, dass sich der Gegner auch schneller bewegen kann, wie der Spieler. PPS: Die DoMove procedure muss natürlich nicht gleich bleiben. Kann total verändert werden, solange es eine Lösung gibt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 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