【问题标题】:Symbol class to document class AS3符号类到文档类 AS3
【发布时间】:2014-12-22 01:08:35
【问题描述】:

我的文档类中有这段代码:

package  {

    import flash.events.Event;

    public class Main extends MovieClip {

    public var mainMenu = new MainMenu();


        public function Main() {
            // constructor code
            startGame();
        }

        public function startGame(){
            mainMenu.x = stage.stageWidth/2
            addChild(mainMenu);     
        }

        public function initGame(event){
            //Adding player with and stuff
        }
}

}

这在我的 MainMenu 类中:

package  {

    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;

    public class MainMenu extends MovieClip {

        private var logo = new Logo();      

        public function MainMenu() {
            // constructor code
            logo.x = - logo.width/2;
            logo.y = 50;
            logo.addEventListener(MouseEvent.CLICK, initGame);
            addChild(logo);
            }
    }

}

我在尝试测试游戏时收到此消息; 1120:访问未定义的属性 initGame。 为什么mainMenu.as不能访问公共函数initGame?

谢谢

【问题讨论】:

    标签: actionscript-3 class


    【解决方案1】:

    您需要引用MainMenu 中的Main 对象。您可以通过构造函数传递它:

    mainMenu = new MainMenu(this);
    

    MainMenu 中,您现在可以将事件注册到Main 中的方法。

    public function MainMenu(main:Main) {
        logo.addEventListener(MouseEvent.CLICK, main.initGame);
        //...
    }
    

    【讨论】:

    • 当我这样做时,我得到这个错误:1136:参数数量不正确。预期 1. 错误指向 public var mainMenu = new MainMenu();
    • @scou 确保参数对于您的回调是正确的:initGame(event:MouseEvent):void
    猜你喜欢
    • 2010-10-15
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 2010-11-30
    • 2011-01-08
    • 2011-01-20
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多