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!!!!