Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DelphiX - Herrausfinden in welche Richtung sich das Sprite b (https://www.delphipraxis.net/28914-delphix-herrausfinden-welche-richtung-sich-das-sprite-b.html)

Die Muhkuh 1. Sep 2004 10:01


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?

Fellmer Lloyd 1. Sep 2004 11:05

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;

Die Muhkuh 1. Sep 2004 12:47

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:
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;
aX und aY sind die Mauskoordinaten. Deswegen weiß ich nicht ganz was ich da jetzt machen soll. Ich hab zwar schon einiges probiert:

Delphi-Quellcode:
if X < aX then
  //...
if X < xDiff then
  //...
if X < xWeg then
  //...
Aber nichts davon führte zum gewünschten ergebnis.

aber für ist eigentlich MoveCount gedacht?

Fellmer Lloyd 2. Sep 2004 09:38

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).

Die Muhkuh 2. Sep 2004 09:44

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 06:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz