我使用此代码使用gotoandplay
场景链接。如果我在同一时间线(内部)中使用它,它正常工作,但当我在一个类中使用此代码时,我收到此错误:
调用可能未定义的方法MovieClip。
我在时间轴
中使用此代码b_enter.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene_enter1);
function fl_ClickToGoToScene_enter1(event:MouseEvent):void
{
MovieClip(this.root).gotoAndPlay("p menu", "Menu");
}
我在课堂上使用此代码
package {
import flash.display.SimpleButton;
public class next extends SimpleButton {
public function next() {
// constructor code
MovieClip(this.root).gotoAndStop("p2", "page2")
}
}
}
您可以使用此link
下载Flash文件答案 0 :(得分:0)
只是一个快速的猜测,它看起来无法找到MovieClip方法...尝试导入MovieClip类。
添加您班级中的其他导入声明:
import flash.display.MovieClip;
答案 1 :(得分:0)
如果我理解你正确,你正在尝试制作一个自定义按钮类:
所以你可以扩展flash.display.Sprite然后为每个状态添加4个DiplayObjects(MovicLip或Sprite或Bitmap),up等。 然后监听适当的鼠标事件MouseEvent.ROLL_OVER,MouseEvent.ROLL_OUT等...然后根据需要切换四个显示的可见性。 还设置时间轴上的状态,并创建扩展flash.display.Movieclip的文档类,并监听不同的鼠标事件并调用gotoAndStop(frame / label); 例如 : 假设你将使用第二个解决方案,并在你的fla中设置4个不同的状态,up,down和click
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class MyCustomButton extends MovieClip
{
public function MyCustomButton()
{
if(stage)init();
else this.addEventListener(Event.ADDED_TO_STAGE, init);
}
protected function init(event:Event=null):void
{
this.addEventListener(MouseEvent.ROLL_OVER,onOver);
this.addEventListener(MouseEvent.ROLL_OUT,onOut);
this.addEventListener(MouseEvent.CLICK,onClick);
this.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
}
protected function onDown(event:MouseEvent):void
{
// gotoAndStop("down") or gotoAndPlay("down")
}
protected function onClick(event:MouseEvent):void
{
// gotoAndStop("click") or gotoAndPlay("click")
}
protected function onOut(event:MouseEvent):void
{
// gotoAndStop("out") or gotoAndPlay("out")
}
protected function onOver(event:MouseEvent):void
{
// gotoAndStop("over") or gotoAndPlay("over")
}
}
}