2 registered members (AndrewAMD, juanex),
1,247
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Mausposition auf einem 3D PANEL auslesen/berechnen
#336285
08/02/10 20:07
08/02/10 20:07
|
Joined: Aug 2003
Posts: 127 Berlin, Germany
CHaP
OP
Member
|
OP
Member
Joined: Aug 2003
Posts: 127
Berlin, Germany
|
Hi!
Gibt es eine Möglichkeit die Koordinaten der Mausposition auf einem PANEL auszulesen/berechnen, welches sich nicht 2 Dimensional auf dem VIEW befindet? Das PANEL wird also auf eine Textur gerendert.
Mit on_click ist das Event selbst auszulösen, aber es liefert glaube ich keine aktuelle Position, wo mit der Maus auf dem PANEL geklickt wurde.
Das Ziel ist, das der Spieler auf einem beweglichen Panel in der 3D Welt interagieren kann.
Wenn das mit der Mausposition nicht klappen sollte, werde ich wohl einen anderen Weg gehen. Dummy Objekte zu platzieren. Was allerdings recht komplex ausarten dürfte.
EDIT: -------------- Mir ist gerade dazu eingefallen, dass ich die aktuellen Koordinaten vom VIEW per rel_for_screen konvertieren könnte. Dann mittels c_trace auf das PANEL schießen und den getroffenen Punkt (Vertex) per HIT auslesen und als Grundlage für weitere Berechnungen verwenden. Jetzt stellt sich aber die Frage. Wie trace ich zum richtigen Zielpunkt?
Last edited by CHaP; 08/02/10 20:15.
|
|
|
Re: Mausposition auf einem 3D PANEL auslesen/berechnen
[Re: CHaP]
#336342
08/03/10 08:25
08/03/10 08:25
|
Joined: Mar 2002
Posts: 1,774 Magdeburg
FlorianP
Serious User
|
Serious User
Joined: Mar 2002
Posts: 1,774
Magdeburg
|
wieso traced du nicht einfach im on_click Event selbst oder benutzt sowas:
if (mouse_left)
{
while (mouse_left) wait(1);
vec_for_screen(temp, vector(mouse_pos.x, mouse_pos.y, 0));
VECTOR temp2;
vec_set(temp2, vector(10000, 0, 0));
vec_rotate(temp2, camera.pan);
vec_add(temp2, temp);
c_trace(temp, temp2, ...);
if (dein panelobjekt getroffen)
{
vec_sub(target, panel_object.x);
vec_set(temp, panel_object.pan);
vec_inverse(temp);
vec_rotate(target, temp);
//jetzt dürfte target relative 2D Coordinaten auf dem Objekt aka Panel enthalten
//und du musst nur noch auf die relative Größe skalieren
}
}
I <3 LINQ
|
|
|
Re: Mausposition auf einem 3D PANEL auslesen/berechnen
[Re: FlorianP]
#336458
08/04/10 08:36
08/04/10 08:36
|
Joined: Aug 2003
Posts: 127 Berlin, Germany
CHaP
OP
Member
|
OP
Member
Joined: Aug 2003
Posts: 127
Berlin, Germany
|
Öhm, weil ich mir nicht wirklich im klaren bin, wie ich die dafür relevanten Vektoren herbekomme um richtig tracen zu können. vec_set(temp2, vector(10000, 0, 0));
Warum soll der x-Wert gesetzt werden? Sollte das nicht eher den z-Wert betreffen?
|
|
|
|