Anzahl=COUNTCOLLISIONS (Entity)


BeschreibungBlitz3D
Die Funktion COUNTCOLLISIONS ermittelt die Anzahl der Kollisionen, die seit der letzten UPDATEWORLD-Anweisung aufgetreten sind.

Gebe die Identität eines Objekts an, das auf Kollision überprüft werden soll.



Parameter
Entity=Identität eines Objekts


Rückgabewert
Anzahl der Kollisionen wird zurückgeliefert.


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, ENTITYCOLLIDED