我的document类中有以下代码:
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?
谢谢
发布于 2014-12-22 09:24:13
您需要在MainMenu中引用Main对象。您可以通过构造函数传递它:
mainMenu = new MainMenu(this);在MainMenu中,您现在可以将事件注册到Main中的方法。
public function MainMenu(main:Main) {
logo.addEventListener(MouseEvent.CLICK, main.initGame);
//...
}https://stackoverflow.com/questions/27595446
复制相似问题