Objeto AS3 Orientada GUI design
-
05-07-2019 - |
Pergunta
Eu estou tentando fazer um jogo pequeno flash que tem um GUI, que é basicamente um menu onde os jogadores podem selecionar certos itens, como o tipo de jogos de Tower Defense.
Seria uma boa idéia para fazer a GUI um singleton? Porque, obviamente, só pode haver uma instância da classe GUI.
Existe uma maneira melhor?
Solução
Na minha opinião, o resto do sistema não deve saber sobre seu GUI, assim tornando-se um singleton é inútil. O View (GUI) deve ligar-se a algum tipo de modelos para mostrar o estado atual.
Em geral, é uma boa idéia para evitar Singletons completamente.
Ao ligar-se um modelo que quero dizer algo assim:
class MyGUI
{
...
public function set game(g:Game):void {
g.addEventListener('pointsChanged', function(e:Event):void {
ptsLabel.text = g.points.toString() + " points";
})
}
}
class Game extends EventDispatcher
{
private var _points:int = 0;
public function get points():int {
return _points;
}
public function set points(points:int):void {
_points = points;
dispatchEvent(new Event('pointsChanged'));
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow