0

我有一个复杂的情况需要解决,因为这超出了我的范围。

我创造:

  • 游戏:A 类的实例(使用单例模式构建的静态类)
  • 问题:B类的实例(使用单例模式构建的静态类,每次用户从 A 类实例中选择一个选项时都会创建和删除该类)
  • 分数:C类实例(公共功能)

问题是Score实例是在Game实例中创建的,因为分数一直显示。问题实例具有每个问题的结果,具体取决于用户选择,因此,我需要知道这一点,因为我拥有所有代码,但只保留了这一部分,因此很难在此处粘贴:

有什么办法吗?

谢谢

4

1 回答 1

0

你应该:

//document class
package 
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class DocumentClass extends Sprite 
    {
        public static var GAME;
        public function DocumentClass() {
            addEventListener(Event.ADDED_TO_STAGE, init);
        }
        private function init(e:Event){
            removeEventListener(Event.ADDED_TO_STAGE, init);
            GAME = new Game();
        }
    }
}
//Game class
package 
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class Game extends Sprite 
    {
        public var score:int;
        public function Game() {
            addEventListener(Event.ADDED_TO_STAGE, init);
        }
        private function init(e:Event){
            removeEventListener(Event.ADDED_TO_STAGE, init);
            //some functions/listeners & variable settings.
            score = 0;
        }
        private function someFunction() {
            stage.addChild(new HighscoreTable(score));//passing score to the highscore table...
        }
    }
}

静态类(仅包含静态变量和没有构造函数的函数)通常没用..尝试将它与其他“技巧”结合起来。

于 2012-07-29T19:09:16.233 回答