| ||||||
Die Funktion COLLISIONNY liefert die Y-Koordinate eines kollidierten Normals. Der Befehl COLLISIONY berechnet dagegen die absolute Kollision von dem Nullpunkt der 3D-Welt. Dabei muss man zuerst die Identität des ersten Entity-Objekts angeben. Da ein Objekt mit mehreren anderen Objekten gleichzeitig kollidieren kann, muss man die Indexnummer angeben. Dieser Index kann nur von 1 bis COUNTCOLLISIONS reichen. | ||||||
Parameter | ||||||
| ||||||
Rückgabewert | ||||||
Y-Koordinate des Normals | ||||||
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,"NX="+COLLISIONNX(sphere,i) TEXT 300,i*20,"NY="+COLLISIONNY(sphere,i) TEXT 450,i*20,"NZ="+COLLISIONNZ(sphere,i) NEXT FLIP WEND END | ||||||
Siehe auch | ||||||
COLLISIONNX, COLLISIONNZ, COLLISIONX, COLLISIONY, COLLISIONZ |