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
()-100,MouseY
()-100)Ein Entity muss mit EntityPickMode
auf einen größeren Wert als Null gesetzt werden, damit diese Funktion korrekt arbeitet.
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
3D Grafik
Pick