Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt habe (https://www.delphipraxis.net/129163-%5Bandorra%5D-wie-frag-ich-ab-ob-ich-auf-ein-bild-geklickt-habe.html)

Eljey 13. Feb 2009 18:31


[Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt habe
 
Also bei meinem Puzzle Spiel stell ich die einzelnen Puzzle Teile als "Pattern" von einem Bild dar.
Jetzt frag ich mit folgendem code ab, ob auf das Bild geklickt wurde:

Delphi-Quellcode:
IF (mausklick.x>=bild.x) AND (mausklick.x<=bild.x+bild.width) AND (mausklick.y>=bild.y) AND (mausklick.y<=bild.y+bild.height) Then
//tu was
Meine Frage: Geht das auch einfacher? Hat Andorra von sich aus eine Möglichkeit so eine "Hotspot" Abfrage auszuführen?

Vielen Dank im Vorraus

igel457 14. Feb 2009 10:21

Re: [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt
 
Wenn du die SpriteEngine verwendest, gibt es dafür die Methode "GetSpriteAt(X, Y)".

Eljey 14. Feb 2009 12:25

Re: [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt
 
ok Danke hat geklappt!

CJ_lux 27. Feb 2009 16:30

Re: [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt
 
gibt es dafür auch eine Lösung bei Delphi (Delphi 7) ?

danke im voraus
CJ

Namenloser 27. Feb 2009 16:47

Re: [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt
 
PtInRect in der Unit Windows. Es tut aber auch nicht weh, sich für solche kleinen Sachen schnell selber eine Funktion zu schreiben.

CJ_lux 27. Feb 2009 17:17

Re: [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt
 
Zitat:

Zitat von NamenLozer
PtInRect in der Unit Windows. Es tut aber auch nicht weh, sich für solche kleinen Sachen schnell selber eine Funktion zu schreiben.


danke für die schnelle Antwort!

ich hab folgendes getestet:

also ich will wissen wann der Benutzer auf ein Shape klickt..


Delphi-Quellcode:
procedure TForm1.FormClick(Sender: TObject);
begin

  if PtInRect(Shape1.ClientRect,mouse.cursorpos) then
    label1.Caption:='OK'
  else
    label1.Caption:='Nö';

end;

doch wenn ich auf dem Shape klicke passiertz nichts, und wenn ich daneben klicke steht 'Nö' am Label..
das Problem kenn ich aber, ich klicke nicht auf die form wenn ich auf den Shape klicke, darum macht er nichts..

doch wie anders machen?


(ja, ich bin neu in diesem Bereich der Informatik, und nein ich wende jetzt keine Ausrede an :stupid: :wink: )

bigben37 27. Feb 2009 17:23

Re: [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt
 
Du musst erst noch Die Koordinaten der von Bildschirm zur Form umrechnen.
Das machst du mit Delphi-Referenz durchsuchenScreenToClient.

ich würde aber das ganze in OnMouseDown packen, denn da werden die Koordinaten schon mitübergeben.

MFg Benjamin

Anmerkung: Was hat das mit Andorra 2D zu tun? :gruebel: :mrgreen:

Edit: Vergiss das alles und nimm das OnMouseDown vom Shape :stupid:

CJ_lux 27. Feb 2009 18:11

Re: [Andorra] Wie frag ich ab, ob ich auf ein Bild geklickt
 
:stupid: :stupid: :stupid:
:stupid: danke^^ das mousedown funtzt^^ :stupid:
:stupid: :stupid: :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 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