Hilfe

EntityPick

B3D

Aufruf

objekt% = EntityPick (entity%, reichw#)

Parameter

entity% Identität eines Objekts (entity)
reichw# Reichweite bis wohin nach Objekten gesucht werden soll


Rückgabewert

Identität des nächsten Objekts (welches den Blickstrahl berührt hat).


Beschreibung

Die Funktion EntityPick liefert die Identität eines Objekts zurück, das am nächsten zum ausgewählten Objekt liegt.

Der Parameter "entity%" gibt die Identität eines Objekts an.

Der Parameter "reichw#" stellt die Suchreichweite ein.

Bei diesem Befehl ist die Blickrichtung des Entity-Objekts ganz wichtig. Man kann es sich wie einen Strahl vorstellen. Berührt ein anderes Objekt diesen Blickstrahl, dann wird seine Objektnummer zurückgeliefert.

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


Beispiel

Standardbeispiel:

Graphics3D 800, 600, 16, 0
SetBuffer BackBuffer()

cube1 = CreateCube()
EntityPickMode cube1, 2, 0
NameEntity cube1, "Cube1"

cube2 = CreateCube()
EntityPickMode cube2, 2, 0
NameEntity cube2, "Cube2"

sphere = CreateSphere(8)
EntityPickMode sphere, 2, 0
TurnEntity sphere, 0, - 90, 0 ;< - - - DREHEN!!!

camera = CreateCamera()
PositionEntity camera, 0, 20, - 20
PointEntity camera, sphere

light = CreateLight(1)
TurnEntity light, 45, 45, 45

While Not KeyHit(1)
   count# = count# + 1
   PositionEntity cube1, 10, 0, Sin#(count) * 10
   PositionEntity cube2, 20, 0, Cos#(count) * 10
   picked = EntityPick(sphere, 100)
   If picked Then
      txt$ = EntityName$(picked)
   Else
      txt$ = "nichts"
   EndIf
   UpdateWorld
   RenderWorld
   Text 10, 10, txt$
   Flip
Wend
End


Siehe auch

CameraPick, Collisions, EntityCollided, EntityInView, EntityPickMode, LinePick, PickedEntity, PickedNX, PickedNY, PickedNZ, PickedSurface, PickedTime, PickedTriangle, PickedX, PickedY, PickedZ

Übersicht 3D Grafik Pick