TypeScript回调未定义

时间:2017-10-04 19:22:15

标签: javascript typescript phaser-framework

我正在尝试将回调collectStar传递给overlap方法。但是,它已经过undefined,我不知道为什么。

如果我通过() => {}而不是参考,它会起作用;然而,这并不是我想要的,因为它不可重复使用。

以下是我正在做的事情的基础:

class SimpleGame {
    // Init the game
    constructor(width: number, height: number) {
        this.game = new Game(width, height, Phaser.AUTO, 'content', { preload: this.preload, create: this.create, update: this.update })
    }

    // Callback
    collectStar(player: Rope, star: Rope) {
        star.kill()
    }

    // The update loop
    update(){
        this.game.physics.arcade.overlap(
            this.player, 
            this.stars, 
            this.collectStar, 
            undefined, 
            this
        );
    }
}

document.addEventListener('DOMContentLoaded', e => {
    new SimpleGame(800, 600)
})

为什么这会以未定义的方式传递?

0 个答案:

没有答案