TImage -> Koordinaten etc???
-
Hallo!
Bin ein ziemlich extremer C++-Newbie, und wollte mit ein paar Leuten ein einfaches Point&Click - Adventure erstellen.
Porblem dabei ist noch, dass ich nicht weiß, wie ich es genau programmieren soll, dass man bestimmte Bereiche eines Bildes anklicken kann.Es sollte so sein:
Auf dem Fenster ist ein Bild (Benutzen bis jetzt TImage).
Wenn man mit dem Cursor darüberfährt, verändert sich an bestimmten Stellen der Mauszeiger (dort, wo im Spiel Objekte, mit denen man interagieren kann, sind)
Und wenn man diese Bereiche anklickt, sollte es natürlich jeweils ein Event gebenGibt es irgendwelche Befehle, wo man solche Bereiche mit Koordinaten bestimmen kann? Oder vielleicht eine Art unsichtbare Buttons darüberlegen kann?
Wäre prima, wenn irgendwer eine Lösung dafür hat!Danke!
-
Du kannst im OnMouseMove Event des Images Abfragen bezüglich der Position des Mauscursors machen und darauf reagieren.
Das mit den Clicks funktioniert dann ähnlich.
-
Ah danke...
hmm da hätt ich sogar eigentlich noch selbst draufkommen können.
Naja das ist ja noch kein problem.Aber weiß jemand, wie ich ein onClick-Event in den Quelltext einfügen kann.
(Wäre dann in der if-Schleife des MouseMove-Events)
if (Bedingung)
{
OnClick
}das wäre naähmlich die Lösung aller jetzigen Probleme...
-
Willst du in der Funktion dann den Klick ausführen -> steht in den FAQ.
Willst du das deiner Komponente dann eine spezielle Funktion zur Bearbeitung des Klicks zugewiesen wird ->MeineKomponente->OnClick = MeineClickFunktion;
-
1. if ist keine Schleife
2. Im FAQ Beitrag Komponeten zur Laufzeit erstellen, Events zuweisen, etc wird genau deine Frage behandelt.Oder einfach mit dem Objektinspektor arbeiten...
-junix
-
Aber weiß jemand, wie ich ein onClick-Event in den Quelltext einfügen kann
Du klickst das Image an, drückst F11 (Objektinspektor), wechselst dann von Eigenschaften zu Ereignisse und doppelklickst auf das leere Feld neben "OnClick". Das muss nicht in eine Schleife, weil das Programm sowiso schon eine Schleife durchläuft, wärhend es auf neue Ereignisse wartet.