| ||||||
Die Anweisung ENTITYRADIUS definiert eine kugelfö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 | ||||||
| ||||||
Rückgabewert | ||||||
- | ||||||
Beispiel | ||||||
Erstellt einige Objekte. Die Kugel kann verschoben werden. Kollidierte Objekte werden angezeigt: 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,11,0 cube=CREATECUBE() ENTITYTYPE cube,2 ENTITYCOLOR cube,0,100,0 POSITIONENTITY cube,0,-5,0 SCALEENTITY cube,10,10,10 cylinder=CREATECYLINDER(32) ENTITYTYPE cylinder,2 ENTITYCOLOR cylinder,255,0,0 POSITIONENTITY cylinder,0,7,0 SCALEENTITY cylinder,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,2,2 UPDATEWORLD RENDERWORLD col=COUNTCOLLISIONS(sphere) TEXT 0,0,"Kollision(en):" FOR i=1 TO col TEXT 000,i*20,"Entity="+COLLISIONENTITY(sphere,i) TEXT 150,i*20,"Surface="+COLLISIONSURFACE(sphere,i) TEXT 300,i*20,"Triangle="+COLLISIONTRIANGLE(sphere,i) NEXT FLIP WEND END | ||||||
Siehe auch | ||||||
COLLISIONS, ENTITYBOX, ENTITYTYPE |