Flash as3.0中,如何让一个物体在舞台上自动移动,碰到舞台再变向反弹。
直接写在帧上就好。懒得文档类写了,因为解释复杂。
物体实例名为:ball;
玩家控制的物体实例名为:player
import flash.events.Event;
import flash.events.MouseEvent;
this.addEventListener(Event.ENTER_FRAME,jianceH);
player.addEventListener(MouseEvent.MOUSE_DOWN,dropH);
player.addEventListener(MouseEvent.MOUSE_MOVE,cancleDropH);
var i=1;//控制方向
function jianceH(e:Event)
{
if(ball.x>=stage.stageWidth -ball.width||ball.y>=stage.stageHeight -ball.height)
{
i=-1;//在接近右跟下边界时为负方向
}
if(ball.x<=0+ball.width||ball.y<=0+ball.height)
{
i=1;//在接近左跟上边界时为正方向
}
ball.y +=Math.random()*50*i;
ball.x +=Math.random()*50*i;//控制ball的随机移动
if(player.hitTestObject(ball))
{
this.removeChild(player);
this.removeChild(ball);
this.removeEventListener(Event.ENTER_FRAME,jianceH);
//碰撞后,两者被移除
}
}
function cancleDropH(e:MouseEvent)
{
player.stopDrag();//按下鼠标可以移动player
}
function dropH(e:MouseEvent)
{
player.startDrag(true);//松开鼠标停止移动player
}
ps:我上传了一个fla。跟swf