| ||||||
Die Funktion ENTITYCOLLIDED liefert die Identität eines Objekts zurück, das mit einem ausgewählten Objekt kollidiert ist. Wenn nur eine 0 zurückgeliefert wird, dann gab es keine Kollision. Dazu muss man nur die Identität eines Objekts (entity) angeben. Type ist eine einfache Zahl, die mit ENTITYTYPE gesetzt werden kann. BlitzBasic benutzt diese EntityTypes dann um die Kollision eines Objekts mit anderen zu überprüfen. Siehe auch den Befehl COLLISIONS. | ||||||
Parameter | ||||||
| ||||||
Rückgabewert | ||||||
Es wird die Identität eines kollidierten Objekts zurückgeliefert. Wird 0 zurückgeliefert, dann gab es keine Kollision. | ||||||
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):" TEXT 300,0,"1. Kollision mit:"+ENTITYCOLLIDED(sphere,2) 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, ENTITYDISTANCE, ENTITYPICK, ENTITYTYPE |