好的,我正在尝试从 Phaser 游戏中制作一个包,已经研究了几天,但它似乎不起作用。我想我发现了问题,希望有人可以帮助我解决这个问题!
我设置了一切以使用本地包,这一切都有效。直到我预加载资产。
这是我的菜单类
Menu = function() {
console.log(this);
}
Menu.prototype = {
preload: function(){
this.load.image('background', 'assets/background.png');
console.log("ok in preload");
},
create: function(){
this.background = this.game.add.sprite(0, 0, 'background');
console.log("ok in create");
var text = "We're getting there";
var style = { font: "23px Arial", fill: "#ff0044", align: "center" };
var t = game.add.text(game.world.centerX, 0, text, style);
},
};
我通过这样做来称呼它
game = new Phaser.Game(400, 300, Phaser.AUTO, "gameWindow");
game.state.add('menu', Menu);
game.state.start('menu');
只要我不尝试在预加载功能中加载图像,这一切似乎都可以通过查看控制台日志来工作,如果我这样做只会卡在预加载功能中。
background.png 位于我的根文件夹中“public/assets/background.png”。所以我在想,当我尝试从本地包访问它时,它很难到达那里......
我的 package.js 是这个顺便说一句:
Package.describe({
summary: "game one"
});
Package.on_use(function (api, where) {
api.use(['phaserio'], 'client');
api.add_files(['states/menu.js'],
['client']);
api.export('Menu', ['client']);
});
有人在那里,看到我做错了什么?提前致谢!