//從spriteA 和 spriteB開始
//如果使用一個空白影片,或影片沒有半徑(radius)屬性
//可以用寬度與高度除以2
var dx:Number = spriteB.x - spriteA.x;
var dy:Number = spriteB.y - spriteA.y;
var dist:Number = Math.sqrt(dx * dx + dy * dy);
if(dist < spriteA.radius + spriteB.radius)
{
//處理碰撞
}
多物體碰撞檢測:
var numObjects:uint = 10;
for(var i:uint = 0; i < numObjects - 1; i++)
{
//使用變量 i 提取引用
var objectA = objects[i];
for(var j:uint = i + 1; j < numObjects - 1; j++)
{
//使用變量 j 提取引用
var objectB = objects[j];
//在 objectA 與 objectB 之間進行碰撞檢測
}
}
參考書目:Keith Peters.《Function Actionscript 3.0 Animation》.Friends of ED
沒有留言:
張貼留言