【AS3代码】通过两者间的距离,检测是否碰撞

package
{
import com.ui.Ball;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
public class Main extends Sprite
{
private var ball:Ball;
private var ball2:Ball;
public function Main():void
{
init();
}
private function init():void
{
ball = new Ball(0x00ffff,Math.random() * 50);
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
ball2 = new Ball(0xffff00,Math.random() * 50);
ball2.startDrag(true);
this.addChild(ball);
this.addChild(ball2);
stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(event:Event):void
{
var dx:Number = new Number();
var dy:Number = new Number();
dx = ball2.x - ball.x;
dy = ball2.y - ball.y;
//获得两个球圆心之间的距离公式
var dist:Number = Math.sqrt(dx*dx + dy*dy);
if(dist < (ball.width / 2) + (ball2.width / 2))
{
trace("撞上!");
}
}
}
}
posted @ 2012-07-11 16:10  王翔(kingfly)  阅读(276)  评论(0编辑  收藏  举报