是不好的做法?使用显示对象容器。

时间:2015-08-04 13:21:10

标签: actionscript-3

大家好!我不知道这是不好的做法。 在这种情况下我将容器传递给TicTacToe类,TicTacToe将容器传递给MainMenu类,MainMenu类将容器传递给Engine等等。引擎传递给GameOver类,GameOver传递给TicTacToe再次播放相同的sprite。并且全部显示对象被添加到此Sprite容器中。

    Main(){
     var container:Sprite = new Sprite();
     var game:TicTacToe(container);
     addChild(game);
    }

    TicTacToe(containerPar:Sprite){
      this.container = containerPar;
      MainMenu(this.container);
    }

这是一个好习惯吗? 我认为的另一种方式就是告诉几乎我所有的类,比如Engine和MainMenu来扩展精灵,我认为这不是一个好主意。 是否有任何其他做法将显示对象添加到DisplayObjectContainer中? 我想知道,因为我认为它非常重要,互联网上没有太多信息。谢谢大家!

1 个答案:

答案 0 :(得分:0)

语法似乎有些混乱,它并没有很好地展示你想要实现的目标。 有很多方法可以从任何地方引用Sprite或其他任何东西。 例如,您可以使用单例类或静态变量。 假设您有一般的游戏类。在类本身中,您可以拥有一个名为" container"的静态变量。引用你想要的精灵。您可以使用getter或静态方法检索它。所以你可以随时随地:

import Game;
var container:Sprite = Game.container;
// or
var container:Sprite = Game.getContainer();

这使得总体上更好的OOP和更清晰的代码。 我希望这会有所帮助。