![]() |
Brechnen, ob Mauszeiger auf Bild (DirectX)
Guten Tag,
ich bin zur Zeit ein 2D Ballerspiel mit DirectX am Programmieren. Dabei möchte ich prüfen, ob der Klick ins Formular auch tatsächlich innerhalb der Fläche des Bildes geschieht. Mein Code sieht so aus:
Delphi-Quellcode:
Häufig wird aber angezigt, dass man daneben geschossen hat, obwohl ich trotzdem das Bild anklicke.
procedure TForm1.DXDraw1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin RechtsLinks := X; HochRunter := Y; end; procedure TForm1.DXDraw1Click(Sender: TObject); begin //In dieser Formel vermute ich den Fehler: if (RechtsLinks > XBild) and (RechtsLinks < (XBild + DXImageLIST1.Items[0].Width)) and (HochRunter > YBild) and (HochRunter < (YBild + DXImageLIST1.Items[0].Height)) then //XBild ist die LEFT-Eigenschaft des Bildes, //YBild die TOP-Eigenschaft begin Treffer := Treffer + 1; Form1.Caption := IntToStr(Treffer) + '. Treffer'; end else begin Fehler := Fehler + 1; Form1.Caption := IntToStr(Fehler) + '. Fehler'; end; end; Wie kann ich das ändern?????? DANKE!!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 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