Einzelnen Beitrag anzeigen

Delphi-Padawan

Registriert seit: 21. Okt 2003
28 Beiträge
 
#1

Brechnen, ob Mauszeiger auf Bild (DirectX)

  Alt 13. Sep 2004, 14:46
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:
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;
Häufig wird aber angezigt, dass man daneben geschossen hat, obwohl ich trotzdem das Bild anklicke.
Wie kann ich das ändern??????
DANKE!!!!
I love Delphi
  Mit Zitat antworten Zitat