vec_for_screen (VECTOR*, VIEW*);

Das Gegenteil der vec_to_screen-Anweisung; konvertiert die durch den Vektor angegebenen XY-Bildschirmkoordinaten in eine Welt-Position des gegebenen Views. Da eine einzelne 3D-Position nicht alleine aus einer XY-Bildschirmposition bestimmt werden kann, muß in der Z-Koordinate des Vektors auch eine Tiefe angegeben werden. Damit sie funktioniert, muß für diese Anweisung der View sichtbar sein. Mithilfe dieser Anweisung lassen sich Entities per Mausklick auf den Bildschirm im Level platzieren.

Parameter:

VECTOR* Vektor, der umgewandelt werden soll
VIEW*

View-Pointer, der für die Umwandlung verwendet wird.

Rückgabewerte:

NULL - Ergebnis liegt ausserhalb des View-Kegels.
VECTOR* - Ergebnis liegt innerhalb des View-Kegels.

Modifiziert:

VECTOR*

Geschwindigkeit:

Schnell

Beispiel:

function spawn_sprite()
{
  // spawn a sprite at mouse click position, 200 quants behind the screen
  temp.x = mouse_pos.x;
  temp.y = mouse_pos.y;
  temp.z = 200;
  vec_for_screen(temp,camera);
  ent_create("arrow.pcx",temp,NULL);
}
...
on_mouse_left = spawn_sprite; 

Siehe auch:

vec_to_screen, rel_to_screen, rel_for_screen

► Aktuelle Version Online