0

我试图让后退按钮转到应用程序的第一个场景......我正在使用这个......

stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_OptionsBackHandler);

function fl_OptionsBackHandler(event:KeyboardEvent):void
{
    event.preventDefault();
    stage.removeEventListener(KeyboardEvent.KEY_DOWN, fl_OptionsBackHandler);

    gotoAndPlay(1, "Scene 1");

    stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_OptionsBackHandler);
}

这是一些有效的方法。问题是当它回到那个帧和场景时,它不会执行那里的代码。我已经说过一些由 as3 制作的图形,但它在返回时不会绘制它们。当它进入下一个场景时,我会删除它们。为了进入下一个场景,我在一个按钮上使用了一个监听器,它基本上进入了场景 2 并删除了我想要删除的孩子,这样他们就不会继续进入下一个场景。

另一个问题是即使它返回到场景 1,我单击按钮转到场景 2,场景 1 中的一些东西在场景 2 中呈现......不是一切,而是一些东西。知道有什么问题吗?

谢谢。

4

1 回答 1

1

不知道你有多少帧scene1。但是我确信如果你的代码在第一帧中scene 1你看不到,因为你还没有停在那里,而是你正在播放它到下一个(gotoAndPlay)。因此,如果您想查看动态所做的更改,您应该停在那里(您的代码所在的位置)。

另一个问题。在 AS3 中,如果您在舞台上进行如下动态操作,那么当您移动到另一个场景时,它不会被移除。

  1. 添加影片剪辑,
  2. 交换深度或改变子索引,
  3. 开始拖动等等。

我希望整个应用程序只有一个stage。因此,无论我们在什么场景中,舞台中的物体总是可见的。

于 2012-10-25T12:44:05.257 回答