我正在尝试制作一个具有GUI的小型Flash游戏,这个游戏基本上是一个玩家可以选择某些项目的菜单,有点像塔防游戏。
将GUI设为单身是一个好主意吗?因为显然只能有1个GUI类实例。
有更好的方法吗?
答案 0 :(得分:3)
在我看来,系统的其余部分不应该知道你的GUI,所以把它变成单身是没有意义的。视图(GUI)应绑定到某种模型以显示当前状态。
一般来说,完全避免单身人士是一个好主意。
通过绑定到模型,我的意思是:
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'));
}
}