3

我正在处理 Flash 横幅,我希望动画循环 3 次然后停止。我不知道动作脚本,但我找到了这段代码:

在第一帧我使用了这个:

_root.loops_played = 0;

if (_root.loops_played >= 3){

stop(); //*

} else {

play();

}

在最后一帧:

_root.loops_played += 1;

不幸的是,动画一直在循环,我收到了这个错误:

Scene 1, Layer 'actions', Frame 1, Line 1   1120: Access of undefined property _root.
Scene 1, Layer 'actions', Frame 1, Line 3   1120: Access of undefined property _root.
Scene 1, Layer 'actions', Frame 175, Line 1 1120: Access of undefined property _root.
Scene 1, Layer 'actions', Frame 175, Line 1 1120: Access of undefined property _root.

有人可以帮忙吗?

4

3 回答 3

3

_root 在 AS3 中不存在。这是一个 AS2 的东西。

不过,要让您当前的逻辑运行,请使用this而不是_root.

这是一些对您提供的内容没有太大变化的代码:

第一帧:

if(!this.loops_played) this.loops_played = 1;

if(this.loops_played >= 3) stop(); else play();

最后一帧:

this.loops_played++;
于 2013-07-17T07:02:01.167 回答
2

将此代码放入最后一帧或播放 3 次后要停止电影的位置。

if(!loopCount){var loopCount:Number = 0;}
loopCount++;
if(loopCount >= 3){stop();}
于 2014-11-04T18:41:30.523 回答
1

编译器明确告诉您该_root属性未定义。您不能使用未定义的属性和对象。

_root在 AS3 中不再存在,有一个稍微可比的属性root。请记住,这root不是全球性的。

于 2013-07-17T07:00:05.847 回答