我正在使用Phaser构建游戏,我正在将代码组织成单独的模型:
main.js
Models:
-Player.js
-Enemy.js
-Powers.js
当我去实现它们时,WebStorm(我正在使用的IDE)自动完成,所以我知道它正在找到引用的定义。
在main.js中,我打电话给:
wzrd = Player.CreatePlayer();
在上面的示例中,WebStorm找到了Player
对象和CreatePlayer
方法,但是当我在浏览器中测试代码时,Firebug会抛出错误:
ReferenceError: Player is not defined
我的Player.js文件:
Player = {};
Player.CreatePlayer = function() {
var wzrd = game.add.sprite(0, 0, 'chars');
this.EquipPlayer();
game.physics.arcade.enable(wzrd);
wzrd.frame = 10;
wzrd.animations.add('left', [21,22,23,22], 5, true);
wzrd.animations.add('right', [33,34,35,34], 5, true);
wzrd.body.gravity.y = 500;
wzrd.body.collideWorldBounds = true;
game.camera.follow(wzrd);
return wzrd;
};
Player.EquipPlayer = function() {
flame = game.add.sprite(wzrd.position.x, wzrd.position.y-15, 'flame');
flame.animations.add('fireRight', [32,33,34,35,36,37,39], 20, true);
flame.animations.add('fireLeft', [0,1,2,3,4,5,6,7], 20, true);
};
答案 0 :(得分:0)
您必须在game.load.script('Powers.js', './models/Powers.js');
函数
preload