![]() |
DelphiX - Herrausfinden in welche Richtung sich das Sprite b
Hi,
wie kann ich in der Procedure DoMove bestimmen, in welche richtung sich das Sprite bewegt? |
Re: DelphiX - Bestimmen in welche Richtung sich das Sprite b
Hallo
In der DoMove Prozedur definierst du ja die Bewgung des Sprites. Also z.B:
Delphi-Quellcode:
procedure TMySprite.DoMove(MoveCount: Integer);
begin inherited DoMove(MoveCount); Y := Y + 10 * MoveCount; end; |
Re: DelphiX - Bestimmen in welche Richtung sich das Sprite b
Hi,
ich weiß, aber ich mach das nicht so, wie in deinem beispiel. Meine Prozedur ist folgende:
Delphi-Quellcode:
aX und aY sind die Mauskoordinaten. Deswegen weiß ich nicht ganz was ich da jetzt machen soll. Ich hab zwar schon einiges probiert:
procedure TFigur.DoMove(MoveCount: Integer);
var xWeg, yWeg, xDiff, yDiff, Schritt: Integer; Strecke: Single; begin inherited DoMove(MoveCount); if not selected then exit; if Move then begin xWeg := aX - StrToInt(FloatToStr(X)); yWeg := aY - StrToInt(FloatToStr(Y)); Strecke := SQRT(SQR(xWeg) + SQR(yWeg)); Schritt := Round(Strecke / 2); if Schritt = 0 then Schritt := 20; xDiff := xWeg div Schritt; yDiff := yWeg div Schritt; X := StrToInt(FloatToStr(X)) + xDiff; Y := StrToInt(FloatToStr(Y)) + yDiff; if (X = aX) and (Y = aY) then Move := false;
Delphi-Quellcode:
Aber nichts davon führte zum gewünschten ergebnis.
if X < aX then
//... if X < xDiff then //... if X < xWeg then //... aber für ist eigentlich MoveCount gedacht? |
Re: DelphiX - Herrausfinden in welche Richtung sich das Spri
Ich verstehe nicht genau was du machen willst.
Das Sprite zur Mausposition bewegen? Wenn du bei allen Bewegungen die Variable MoveCount einbeziehst, kannst du das Spiel ganz einfach schneller oder langsamer machen (Variable MoveCount ändern). |
Re: DelphiX - Herrausfinden in welche Richtung sich das Spri
Hi,
ich habs nun selbst geschafft. Ich muss nur überprüfen ob die Variable xDiff/yDiff im negativen oder im positiven bereich ist. Wenn sie negativ ist läuft das männchen nach oben oder andersrum nach unten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 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