Javascript 相位器:无法访问在其他范围中定义的变量
我在Phaser中遇到了一个问题。基本上,在主schoolyard函数中定义的player变量是不可访问的。我首先尝试将它与其他变量一起定义,但由于这不起作用,我尝试在主函数中定义它。当我尝试按速度移动时,我只得到错误“UncaughtTypeError:无法设置未定义的属性“x”。我希望有人能帮忙,提前谢谢Javascript 相位器:无法访问在其他范围中定义的变量,javascript,phaser-framework,Javascript,Phaser Framework,我在Phaser中遇到了一个问题。基本上,在主schoolyard函数中定义的player变量是不可访问的。我首先尝试将它与其他变量一起定义,但由于这不起作用,我尝试在主函数中定义它。当我尝试按速度移动时,我只得到错误“UncaughtTypeError:无法设置未定义的属性“x”。我希望有人能帮忙,提前谢谢 var Schoolyard = function() { this._player = null; }; var map; var backgroundLayer; var b
var Schoolyard = function() {
this._player = null;
};
var map;
var backgroundLayer;
var backgroundLayer2;
var collisionLayer;
var cursors;
Schoolyard.prototype = {
preload: function() {
},
create: function() {
this.game.physics.startSystem(Phaser.Physics.ARCADE);
map = this.game.add.tilemap('schoolyard');
map.addTilesetImage('tiles');
map.addTilesetImage('tiles2');
backgroundLayer = map.createLayer('BackgroundLayer');
brackgroundLayer2 = map.createLayer('BackgroundLayer2');
collisionLayer = map.createLayer('CollisionLayer');
this._player = this.game.add.sprite(400,400,'main');
this.game.physics.enable(this._player);
this.game.camera.follow(this._player);
this._player.frame = 30;
cursors = this.game.input.keyboard.createCursorKeys();
},
update: function() {
if (cursors.right.isDown)
this._player.velocity.x = 150;
}
};
好的,以下是答案:
速度是物理体的一种性质
你应使用:
this._player.body.velocity.x = 150
速度是物体的特性。非常感谢!我觉得自己非常愚蠢,没有注意到这一点,但再次感谢你!