我正在使用移相器Javascript框架来制作一个简单的游戏。我的播放器对象被分配了不同的状态,例如:onground
,inair
等
我正在尝试为this.currentState分配一个方法。在更新循环中,我调用this.currentState
来运行指定的方法(this.groundState
)。
但是,我收到以下错误 -
' this.currentState不是函数'
有人可以帮忙吗?
SuperSmash.Player = function(game, x, y) {
Phaser.Sprite.call(this, game, x, y, 'player');
this.game.physics.arcade.enable(this);
this.speed = 500;
this.airSpeed = 300;
this.currentState = this.groundState;
console.log(this.currentState); // undefined
};
SuperSmash.Player.prototype = Object.create(Phaser.Sprite.prototype);
SuperSmash.Player.prototype.constructor = SuperSmash.Player;
SuperSmash.Player.prototype.update = function() {
this.currentState();
};
SuperSmash.Player.prototype.groundState = function() {
console.log('ground');
};