流星本地包,移相器游戏,资产加载?

时间:2014-07-22 15:12:13

标签: meteor phaser-framework

好的我正试图从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就是这个btw:

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']);
});

那里有人,看到我做错了什么? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您应该能够从应用程序加载公共图像,但这取决于该预加载序列的运行时间。首先解析包。那么你的新游戏是在Meteor.startUp ->内创建的吗?应用程序本身已初始化?

您也可以将资产放入包中。 你用的是0.9吗?包中的静态资产路径存在一些问题 看到这个帖子:

https://github.com/meteor/meteor/issues/2602

对于0.9个软件包,您需要添加更多信息

Package.describe({
  summary: "phaser for meteor",
  version: '0.0.1',
  git: 'https://github.com/dcsan/package-dev',
  name: "YOURNAME:phaser"
});

目前如果你使用像下划线替换冒号这样的东西:

/packages/YOURNAME_phaser/added/path/to/asset.png

如果你收到移相器,我也会感兴趣,所以请把它发布到大气层!