1.构建小球精灵
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Ball.as
package
{
import flash.display.Sprite;
public class Ball extends Sprite
{
public var radius:Number;
public var color:uint;
public function Ball (radius:Number,color:uint)
{
this.radius=radius;
this.color=color;
Init ();
}
public function Init ():void
{
graphics.beginFill (color);
graphics.drawCircle (0,0,radius);
graphics.endFill ();
}
}
}
2.构建精灵和点碰撞
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
PointHitTest.as
package
{
import flash.display.Sprite;
import flash.events.Event;
public class PointHitTest extends Sprite
{
private var ball:Ball;
public function PointHitTest ()
{
Init ();
}
private function Init ():void
{
ball=new Ball(20,0xFF0000);
addChild (ball);
ball.x=stage.stageWidth/2;
ball.y=stage.stageHeight/2;
addEventListener (Event.ENTER_FRAME,EnterFrame);
}
private function EnterFrame (e:Event):void
{
if (ball.hitTestPoint(mouseX,mouseY))
{
trace ("Hit.");
}
}
}
}
不准确,和边界盒进行测试。
如果进行精确碰撞,也就是对可视区域进行碰撞测试(而不是边界盒)用:
ball.hitTestPoint(mouseX,mouseY,true)