Actionscript 3 ASC3使用MovieClip扩展自定义类-gotoAndStop不工作
我正在尝试设置一个类来处理游戏的屏幕导航;调用Actionscript 3 ASC3使用MovieClip扩展自定义类-gotoAndStop不工作,actionscript-3,Actionscript 3,我正在尝试设置一个类来处理游戏的屏幕导航;调用MenuNavigation。我已经用MovieClip扩展了这个类,所以我应该能够访问gotoAndStop函数,但是我不断得到错误- “1180-访问未定义的方法gotoAndStop” 。我也尝试过: MovieClip(root).gotoAndStop(frameLabel) MovieClip(root).gotoAndStop(frameLabel) Stage.gotoAndStop(frameLabel)" 这些也不起作用。我还制
MenuNavigation
。我已经用MovieClip
扩展了这个类,所以我应该能够访问gotoAndStop
函数,但是我不断得到错误-
“1180-访问未定义的方法gotoAndStop”
。我也尝试过:
MovieClip(root).gotoAndStop(frameLabel)
MovieClip(root).gotoAndStop(frameLabel)
Stage.gotoAndStop(frameLabel)"
这些也不起作用。我还制作了一些扩展了MovieClip
的其他类,这会是一个问题吗?有限制吗?奇怪的是,我做过其他flash项目,做过完全相同的事情,从来没有遇到过问题。我敢肯定这是代表我做的蠢事。谢谢
代码如下:
package
{
import flash.display.*;
import flash.events.*;
public class MenuNavigation extends MovieClip
{
public function MenuNavigation()
{
// constructor code
}
// function deals with button navigation handling between frames
public static function loadScreen(evt:MouseEvent)
{
switch(evt.target.name)
{
case "playButton":
gotoAndStop("aboutGame");
break;
case "creditsButton":
gotoAndStop("credits");
break;
case "aboutNextButton":
gotoAndStop("instructions");
break;
case "aboutBackButton":
gotoAndStop("mainMenu");
break;
case "instructionsBackButton":
gotoAndStop("aboutGame");
break;
case "instructionsPlayButton":
gotoAndStop("game");
break;
case "creditsBackButton":
gotoAndStop("mainMenu");
break;
}
}
}
}
你的主要问题是示波器。函数loadScreen不应该是静态的。如果是静态的,则功能的范围不同,并且没有MovieClip对象道具和功能。不要将功能设置为静态的。静态函数与类的非静态成员/函数不在同一范围内(即
gotoAndStop
)。请阅读一些关于静态函数的信息。
public function loadScreen(evt:MouseEvent)
{
....
}