AS3当符号处于某个位置时

时间:2012-04-24 16:25:20

标签: actionscript-3 flash

我正在使用Flash Professional CS5.5,我需要制作一个应用程序,其中有一个球(符号)使用加速度计移动,我想要,当球A坐标到达此坐标时BI转到第2帧(gotoAndPlay(2))。我必须先找到球坐标,对吗? 我该怎么做?

以下是我现在的代码

c_ball.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void{
c_ball.startDrag();}
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void{
c_ball.stopDrag();}

如果在重新找到坐标之后会起作用吗?

function f_level (e) if (c_ball.x==100 && c_ball.y==100) {
gotoAndStop(2);}

2 个答案:

答案 0 :(得分:1)

我会添加一个enter frame事件监听器,并检查那里的c_ball坐标。

stage.addEventListener(Event.ENTER_FRAME, siteLoop);

public function siteLoop(event:Event)
{
  if ((c_ball.x > 99.9) && (c_ball.y > 99.9)){
    gotoAndStop(2);
  }
}

答案 1 :(得分:1)

使用碰撞检测创建一个目标区域并使用你的球对象进行测试 - 如果想要在onEnterframe上或每当你的时间:

private function test():void{
    if(  ball.hitTestObject(testarea) ){
        // here goes next frame command ;)
    }
}