クラスのインポートに問題があります。クラスのインスタンスを作成することはできますが、パブリック静的メンバーを使用することはできません。すべてのファイルを同じパッケージに入れると問題はありませんが、インポートする必要がある場合、次のエラーが発生します。1119:静的タイプClassの参照を介した未定義のプロパティMAIN_MENUへのアクセス。
メインクラスの始まりは次のとおりです。
import flash.display.Sprite;
import flash.events.Event;
import classes.gameStates.MainMenuScreen;
public class DocumentClass extends Sprite
{
private var mainMenuScreen:MainMenuScreen;
public function DocumentClass()
{
displayMainMenu();
}
private function displayMainMenu():void
{
mainMenuScreen = new MainMenuScreen();
mainMenuScreen.x = 0;
mainMenuScreen.y = 0;
mainMenuScreen.addEventListener(MainMenuScreen.START_GAME, onStartGame);
mainMenuScreen.addEventListener(MainMenuScreen.CREDITS, onCredits);
addChild(mainMenuScreen);
}
そしてこれはMainMenuScreenクラスです
package classes.gameStates
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
public class MainMenuScreen extends Sprite
{
public static const START_GAME:String = "startGame";
public static const CREDITS:String = "credits";
public function MainMenuScreen()
{
startGameButton.addEventListener(MouseEvent.CLICK, onStartGame);
creditsButton.addEventListener(MouseEvent.CLICK, onStartCredits);
}
public function Destroy():void
{
startGameButton.removeEventListener(MouseEvent.CLICK, onStartGame);
creditsButton.removeEventListener(MouseEvent.CLICK, onStartCredits);
}
private function onStartGame(e:MouseEvent):void
{
dispatchEvent(new Event(MainMenuScreen.START_GAME));
}
private function onStartCredits(e:MouseEvent):void
{
dispatchEvent(new Event(MainMenuScreen.CREDITS));
}
}
}