Entity=CAMERAPICK (Kamera, X#, Y#)


BeschreibungBlitz3D
Die Funktion CAMERAPICK ermittelt die Identität eines 3D-Objekts an der Koordinate X|Y. Das Programm berechnet automatisch die 3D-Koordinate und sucht das nächste Objekt.

Ein Entity muss mit ENTITYPICKMODE auf einen größeren Wert als Null gesetzt werden, damit diese Funktion korrekt arbeitet.


Parameter
Kamera=Identität einer Kamera
X=X-Koordinate auf der 2D-Ebene
Y=Y-Koordinate auf der 2D-Ebene


Rückgabewert
Identität des Objekts. Wurde kein Objekt gefunden, so wird nur eine Null zurückgeliefert.


Beispiel
Erstellt einen drehenden Würfel. Wenn die Maus über dem Würfel ist, dann ändert es seine Farbe:

GRAPHICS3D 640,480,0,2
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
cube=CREATECUBE()
POSITIONENTITY camera,0,0,0
ROTATEENTITY light,90,0,0
POSITIONENTITY cube,0,0,10
ENTITYPICKMODE cube,2

WHILE NOT KEYDOWN(1)
   TURNENTITY cube,.5,1,2
   mx=MOUSEX()
   my=MOUSEY()
   entity=CAMERAPICK(camera,mx,my)
   IF entity=0 THEN ENTITYCOLOR cube,255,255,255
   IF entity<>0 THEN ENTITYCOLOR cube,0,255,0
   RENDERWORLD
   IF entity=0 THEN TEXT 0,0,"Nicht ausgewählt"
   IF entity<>0 THEN TEXT 0,0,"Ausgewählt:"+entity
   OVAL mx-5,my-5,10,10,1
   FLIP
WEND
END


Siehe auch
ENTITYPICK, ENTITYPICKMODE, LINEPICK, PICKEDX, PICKEDY, PICKEDZ, PICKEDNX, PICKEDNY, PICKEDNZ, PICKEDTIME, PICKEDENTITY, PICKEDSURFACE, PICKEDTRIANGLE