Typoskript: privates Mitglied ist plötzlich undefiniert

Ich habe also eine grundlegende Typescript-Anwendung, die eigentlich keine größeren Probleme verursachen sollte, aber anscheinend läuft hier etwas schief und ich habe keine Ahnung, was.

Ich habe dieses private MitgliedminUpdateRate in meinemGameContainer Klasse, die im Konstruktor initialisiert wird. Das scheint gut zu gehen, denn wannGameContainer.start() heißt dieconsole.log() Methode wird ausgedruckt1.

Wenn jedoch dieGameContainer.render() Methode aufgerufen wird, scheint es außerhalb des Geltungsbereichs oder so etwas zu sein, die Protokollmethode ausgibtundefined Dort.

Ich bin ziemlich neu in TypeScript und auch nicht so tief in JavaScript (besonders wenn es um Bereiche geht, wird es für mich verwirrend: /). Wie kann ich das aber lösen?

Hauptklasse:

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;
    }
}

Game Container Klasse:

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) {
            ...
        }
    }
}

Das Rendern wird über setInterval im Skriptbereich aufgerufen:

var game = TwoDGame.main(context);

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage