我在Adobe Flash中遇到了Actionscript 3.0的问题。我不能从类(不是文档类)运行“gotoAndStop”。 在互联网的帮助下,我尝试了几件事,但都没有奏效:
1)
MovieClip(root).gotoAndStop(3);
2)
package
{
import flash.display.MovieClip;
public class CustomClassName extends MovieClip
{
public static var mainTimeline:MovieClip;
public function CustomClassName()
{
// constructor code
}
}
}
3)
public class np extends SimpleButton {
var _root:MovieClip;
public function np() {
this.addEventListener(Event.ADDED_TO_STAGE,init);
this.addEventListener(MouseEvent.CLICK,nextF);
}
private function init(e:Event):void{
_root = MovieClip(this.root);
}
private function nextF(e:MouseEvent):void{
_root.addEventListener(Event.RENDER,renderF);
stage.invalidate();
_root.nextScene();
}
private function renderF(e:Event):void {
_root.gotoAndStop(5);
}
}
我有这些进口商品:
import flash.display.MovieClip;
import flash.display.Graphics;
import flash.display.Stage;
import flash.events.Event;
如果我运行这些代码行:
trace('frame:',currentFrame);
super(this).gotoAndPlay(2);
trace('frame:',currentFrame);
...结果我得到0作为currentFrame。
我有一个我想要运行gotoAndStop(2)的类。 在我的.fla文件中,我在第一帧中有这些:
stop();
import Buzzer.*;
var buzzerClip:Buzzer = new Buzzer();
stage.addChild(buzzerClip);
但是代码没有运行gotoAndStop函数。实际上不会返回任何错误。有人有另一个想法吗?
答案 0 :(得分:1)
在将显示对象添加到显示列表之前,属性root
为空。
所以要调整你的第一次尝试:
public function MyDisplayObject()
{
init();
}
private function init():void
{
addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
}
private function addedToStageHandler()
{
MovieClip(root).gotoAndStop(3);
}