Hilfe
CameraPick
Aufruf
Parameter
Rückgabewert
Beschreibung
Beispiel
Siehe auch
entity% = CameraPick (kamera%, x#, y#)
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.
Beschreibung
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.
Die Werte x# und y# sind Abstände zum Kamerarand. Diese müssen von Mauskoordinaten abgezogen werden, wenn Kamera nicht ganz oben/links anfängt. Beispiel:
obj=CameraPick(cam,MouseX
()-100,MouseY
()-100)
obj=CameraPick(cam,MouseX


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

Beispiel
Standardbeispiel:
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
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

