我尝试创建一个标签界面:
所以在第1帧的每一层我添加了
this.stop();
但在运行时说:
1180: Call to a possibly undefined method addFrameScript.
main.as目前没用,但我可以证明它会产生影响:
package {
import flash.display.Sprite;
import flash.events.*;
import fl.controls.CheckBox;
public class main extends Sprite {
public function main() {
addEventListener( Event.ADDED_TO_STAGE, init );
}
public function init( e:Event ):void {
removeEventListener( Event.ADDED_TO_STAGE, init );
}
public function hello(target:MouseEvent) {
trace(target);
}
}
}
答案 0 :(得分:7)
由于您的文档类扩展了Sprite,因此它没有stop方法。 Sprite没有时间轴或帧。如果要使用文档类并在主时间轴上有多个框架,则应改为扩展MovieClip。
所以你可以改变这个:
public class main extends Sprite {
......对此:
public class main extends MovieClip {
答案 1 :(得分:2)
不要使用FrameScripting,并且在拥有文档类时不要使用它。使用Event.ENTER_FRAME确定播放头的位置。您可以使用FrameLabels使其易于管理。 但是在上面的代码中,你正在扩展Sprite,所以没有play() - 和stop() - 你的帧可以执行的方法。此外,addFrameScript()方法不可用,因此请尝试扩展应该有效的MovieClip。
问候 菲利普
答案 2 :(得分:2)
正如已经说过的那样,您需要扩展MovieClip以获得时间轴。 还
所以在第1帧的每一层我添加了
this.stop();
您无需在每个图层上添加停靠点。如果操作在一个帧中定义,则会影响该帧上的所有图层。