ENTITYBOX Entity, X#, Y#, Z#, Breite#, Höhe#, Tiefe#


BeschreibungBlitz3D
Die Anweisung ENTITYBOX definiert eine quaderförmige Kollisionsfläche für ein Objekt.

In BlitzBasic gibt es zwei definierbare Kollisionsflächen: Quader (ENTITYBOX) und Kugel (ENTITYRADIUS). Hat man die Kollisionsfläche gewählt, dann kann man noch zusätzlich mit dem Befehl ENTITYTYPE den Kollisionstyp einstellen. Mit dem Befehl COLLISIONS wird die Kollisionsprüfung aktiviert.


Parameter
Entity=Identität eines Objekts (entity)
X=X-Koordinate der Kollisionbox
Y=Y-Koordinate der Kollisionbox
Z=Z-Koordinate der Kollisionbox
Breite=Breite der Kollisionbox
Höhe=Höhe der Kollisionbox
Tiefe=Tiefe der Kollisionbox


Rückgabewert
-


Beispiel
Hier wird ein roter Würfel erstellt und ein zu großer Kollisionsbereich gewählt. Somit kann die Kugel nie den Würfel berühren:

GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
ROTATEENTITY camera,45,0,0
POSITIONENTITY camera,0,15,-10
light=CREATELIGHT()
ROTATEENTITY light,45,0,0

sphere=CREATESPHERE(32)
ENTITYTYPE sphere,1
ENTITYRADIUS sphere,1
POSITIONENTITY sphere,0,15,0

cube=CREATECUBE()
ENTITYBOX cube,-10,-10,-10,20,20,20
ENTITYTYPE cube,2
ENTITYCOLOR cube,0,100,0
POSITIONENTITY cube,0,-5,0
SCALEENTITY cube,10,10,10

box=CREATECUBE()
ENTITYBOX box,-3,-3,-3,6,6,6
ENTITYTYPE box,2
ENTITYCOLOR box,255,0,0
POSITIONENTITY box,0,7,0
SCALEENTITY box,2,2,2

WHILE NOT KEYDOWN(1)
   x#=0
   y#=0
   z#=0
   IF KEYDOWN(203)=1 THEN x#=-0.1
   IF KEYDOWN(205)=1 THEN x#=0.1
   IF KEYDOWN(208)=1 THEN z#=-0.1
   IF KEYDOWN(200)=1 THEN z#=0.1
   MOVEENTITY sphere,x#,-0.1,z#
   COLLISIONS 1,2,3,2
   UPDATEWORLD
   RENDERWORLD
   FLIP
WEND
END


Siehe auch
COLLISIONS, ENTITYRADIUS, ENTITYTYPE