为什么可以';我不能停在Flash时间线的第1帧吗?
我尝试创建一个选项卡界面: 所以在第1帧的每一层我都添加了为什么可以';我不能停在Flash时间线的第1帧吗?,flash,actionscript-3,Flash,Actionscript 3,我尝试创建一个选项卡界面: 所以在第1帧的每一层我都添加了 this.stop(); this.stop(); 但在运行时,它会说: 1180: Call to a possibly undefined method addFrameScript. main.as目前没有用处,但我可以展示它,以防它产生影响: package { import flash.display.Sprite; import flash.events.*; import fl.con
this.stop();
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);
}
}
}
不要使用框架脚本,也不要在有文档类时使用框架脚本。使用Event.ENTER_FRAME确定播放头的位置。然后,您可以使用FrameLabels使其管理更加灵活。 但是在上面的代码中,您正在扩展Sprite,因此没有play()-和stop()-方法可供您的帧执行。此外,addFrameScript()方法不可用,因此请尝试扩展MovieClip,这样应该可以工作 问候
philipp因为您的文档类扩展了Sprite,所以它没有stop方法。精灵没有时间线或帧。如果您想使用文档类并在主时间轴上有多个帧,则应该扩展MovieClip 所以你可以改变这一点:
public class main extends Sprite {
。。。为此:
public class main extends MovieClip {
正如已经被告知的,您需要扩展MovieClip以获得时间线。 也 所以在第1帧的每一层我都添加了
this.stop();
this.stop();
您不需要在每一层上添加一个停止点。如果在一个帧中定义了动作,它将影响该帧上的所有层
你的解释有点混乱。我同意Phillip的观点,将框架脚本与document类中的播放头控制代码混合在一起是个坏主意。如果您这样做,您必须非常清楚脚本的执行顺序,并管理潜在的冲突。如果你对此不小心,我可以向你保证,如果播放头在你认为它会移动的时候没有移动,或者进入错误的帧,你会有错误。我正在学习Flash,这就是为什么我这样做,但下一步我会尝试你的建议。谢谢。同意Lars的观点。更多信息链接:同意。这是这个问题最直接、最正确的答案。