문제

기본적으로 플레이어가 타워 방어 게임과 같은 특정 아이템을 선택할 수있는 메뉴 인 GUI가있는 작은 플래시 게임을 만들려고합니다.

GUI를 싱글 톤으로 만드는 것이 좋은 생각일까요? 분명히 GUI 클래스의 1 인스턴스 만있을 수 있기 때문입니다.

더 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

제 생각에, 나머지 시스템은 GUI에 대해 알지 못하므로 싱글 톤으로 만드는 것은 무의미합니다. View (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'));
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top