【发布时间】:2016-12-05 02:18:17
【问题描述】:
我有一个包含影片剪辑的场景。该影片剪辑有一个按钮,用于控制场景中符号的 y 位置。我试图做的是当符号达到某些 y 值时转到下一个场景。当到达所需的 y 位置时,我使用了 gotoAndPlay,切换到新场景,但输出上出现错误,如标题所示。这是影片剪辑中出现的代码:
launch_btn.addEventListener(MouseEvent.CLICK, init_launch)
function init_launch(evt:MouseEvent):void
{
MovieClip(root).launch_video.play();
var k = setTimeout(launch, 1);
}
function launch():void
{
trace(MovieClip(root).rkt.y);
if(MovieClip(root).rkt.y != null)
{
//progressively changing the y position
if(MovieClip(root).rkt.y != null)
{
if(MovieClip(root).rkt.y < 600)
{
MovieClip(root).rkt.y -=0.3
}
if(MovieClip(root).rkt.y < 500)
{
...
}
setTimeout(launch, 1);
if(MovieClip(root).rkt.y < -150)
{
MovieClip(root).gotoAndPlay(1, "Scene 3")
}
}
}
目前,在编译此代码时,错误指向“trace(MovieClip(root).rkt.y);”行。
我不明白为什么当我尝试去不同的场景时 rkt 突然变为空。我尝试检查该属性是否为空,但这没有帮助。
我尝试删除 eventListener,并调用驻留在场景本身(原始)的动作层中的函数,而不是直接从影片剪辑进入场景。
一切都是徒劳的。
有什么想法吗?
【问题讨论】:
标签: actionscript-3 flash