如果数字等于零,如何进入下一个场景

时间:2013-11-01 21:45:19

标签: actionscript-3 next scene

我正在创建一个游戏,当一个物体滚过另一个物体时,物体就会消失,而当它发生时,就会从舞台上的物品中取出一个物品来计算物品剩余的数量;但是,我想要它,当它等于零时,它会进入一个新的场景。到目前为止,这是我的代码:

var nObjects:Number = 5;

An.addEventListener( Event.ENTER_FRAME, handleCollision4)    

function handleCollision4( e:Event ):void
{
if(An.hitTestObject(Octo)){
An.addEventListener(MouseEvent.MOUSE_UP, onStopDrag4);

function onStopDrag4(e:MouseEvent):void {
e.target.StopDrag;
if(An.hitTestObject(Octo)){



   removeChild(MovieClip(Octo));
    nObjects--;
    trace(nObjects)
    myText.text = String(nObjects);


}
}
  //there are five of these when they are all deleted nObjects does equal zero

 if (nObjects==0);

{
gotoAndStop(1, "Scene 3");
}

1 个答案:

答案 0 :(得分:0)

  • 您需要关闭handleCollision4及其if声明。为了帮助保持清晰(发生封装),请记住始终正确缩进代码,因为这样可以让其他人(和您)更容易阅读并发现语法错误。

  • onStopDrag4中,您看起来像StopDrag的函数调用。不要忘记你的括号。

  • 您对if (nObjects == 0) {的测试超出了您的onStopDrag4侦听器,这意味着它只会在初始文档读取期间运行一次;你希望它在监听器内部,以便在每次nObject递减后运行。此外,请勿在条件后添加分号。

格式正确,它应该如下所示:

var nObjects:Number = 5;
An.addEventListener(Event.ENTER_FRAME, handleCollision4)    

function handleCollision4(e:Event):void {
    if (An.hitTestObject(Octo)) {
        An.addEventListener(MouseEvent.MOUSE_UP, onStopDrag4);
    }
}

function onStopDrag4(e:MouseEvent):void {
    e.target.StopDrag();
    if (An.hitTestObject(Octo)) {
        removeChild(MovieClip(Octo));
        nObjects--;
        trace(nObjects)
        myText.text = String(nObjects);
    }

    //there are five of these when they are all deleted nObjects does equal zero
    if (nObjects == 0) {
        gotoAndStop(1, "Scene 3");
    }
}