Maszynopis: prywatny członek jest nagle niezdefiniowany

Mam więc podstawową aplikację typu Maszynopis, która nie powinna powodować żadnych poważnych problemów, ale wygląda na to, że coś idzie nie tak i nie mam pojęcia co.

Mam tego prywatnego członkaminUpdateRate w moimGameContainer klasa, która jest inicjowana w konstruktorze. Wydaje się to dobrze, ponieważ kiedyGameContainer.start() nazywa sięconsole.log() metoda zostanie wydrukowana1.

Jednak kiedyGameContainer.render() metoda jest wywoływana, wydaje się, że jest poza zakresem lub czymś, na wyjściu z metody dziennikaundefined tam.

Jestem całkiem nowy w TypeScript, a nie tak głęboko w JavaScript (zwłaszcza jeśli chodzi o zakresy, to jest dla mnie mylące: /). Jak jednak mogę to rozwiązać?

Klasa główna:

class TwoDGame extends Game {
    public static main(context:CanvasRenderingContext2D) {
        var game:Game = new TwoDGame();
        var container:GameContainer = new GameContainer(context, game);

        container.start();

        return game;
    }
}

Klasa kontenera gry:

class GameContainer {
    ...
    private minUpdateRate:number;
    private game:Game;
    private time:number;
    ...

    constructor(context:CanvasRenderingContext2D, game:Game) {
        ...
        this.minUpdateRate = 1;
        this.game = game;
    }

    public start() {
        ...
        console.log(this.minUpdateRate);
    }

    public render() {
        var now:number = new Date().getMilliseconds();
        var delta:number = now - this.time;
        console.log(this.minUpdateRate);

        if (delta > this.minUpdateRate) {
            ...
        }
    }
}

Render jest wywoływany przez setInterval w obszarze skryptu:

var game = TwoDGame.main(context);

setInterval(game.getGameContainer().render, 16);

questionAnswers(1)

yourAnswerToTheQuestion