onclick bei directX Objekt?!?
-
Hallo,
Ich möchte, dass wenn ein objekt angeklickt wird eine Funktion ausgelöst wird!
Die Frage ist nur wie mache ich das. Gibts da etwas in directinput oder so?
bitte helft mir...
mfg
-
was meinst du mit "Objekt", irgendwas das du selbst gezeichnet hast oder ein GUI-Baustein?
-
mit objekt meine ich z.B. ein model oder einfache vierecke die mit p_d3dDevice->DrawIndexedPrimitives(...) gezeichnet worden sind...
-
dann musst du doch nur berechnen welches objekt du angeklickt hast und dann die funktion aufrufen die du aufrufen moechtest.
-
Hi,
woher soll DirectInput wissen welche DrawIndexedPrimitive Aufrufe ein einzelnes Objekt darstellen. Mal ganz abgesehen davon, dass DirectInput mit Direct3D nichts zu tun hat.
Wie man das dann macht?
- Entwirf ein Klassendesign für ein anklickbares Objekt
- diese Klasse sollte auch eine 3D Repräsentation enthalten
- spendiere der Klasse einen Eventhandler der auf Mausklicks reagiert
- rendere die 3D Daten jeder Instanz dieser Klasse wenn gerendert werden soll
- ...Ciao,
Stefan
-
eine klasse habe ich definiert...
- spendiere der Klasse einen Eventhandler der auf Mausklicks reagiert
genau bei diesem punkt komme ich nicht weiter. wie soll das gehen??
mfg
-
schreib einfach eine funktion in deine klasse die du aufrufst wenn ein mausknopf geklickt wurde z.b.
void OnMouseClick(int x,int y);
-
Ich hoffe du weisst, dass es dafür keine Funktion in DirectX gibt.
Das musst du selbst implementieren.
Du übergibst die Koordinaten der Maus und dann...Wie macht ihr das schon wieder?
Strahl in diese Richtung und dann prüfen, ob der Strahl das Objekt berührt?Jedenfalls:
Das musst du selbst machen.