Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 带路由器的流星精灵_Meteor_Iron Router_Pixi.js_Flow Router - Fatal编程技术网

Meteor 带路由器的流星精灵

Meteor 带路由器的流星精灵,meteor,iron-router,pixi.js,flow-router,Meteor,Iron Router,Pixi.js,Flow Router,我正在使用Meteor和Pixi.js进行一个项目, 当我尝试使用路由器时,我面临一个非常奇怪的问题 (我尝试了IronRouter和FlowRouter)和pixi画布 画布已经建成,但我无法在上面渲染任何精灵。 只有在使用route参数时才会发生这种情况,例如“/game/:id” 除非我使用了route参数,例如“/game/:id”,否则这是有效的 此外,如果我不使用route参数, 当我访问“/游戏”时,精灵出现 当我访问“/游戏”时,精灵不会出现/ 以下是meteor应用程序的最小错

我正在使用Meteor和Pixi.js进行一个项目, 当我尝试使用路由器时,我面临一个非常奇怪的问题 (我尝试了IronRouter和FlowRouter)和pixi画布

画布已经建成,但我无法在上面渲染任何精灵。 只有在使用route参数时才会发生这种情况,例如“/game/:id”

除非我使用了route参数,例如“/game/:id”,否则这是有效的 此外,如果我不使用route参数, 当我访问“/游戏”时,精灵出现 当我访问“/游戏”时,精灵不会出现/

以下是meteor应用程序的最小错误代码:

任何路由器定义:

Router.route('/room/:_id', {
    action: function() {
        this.render('game');
    }
});
基本模板: Html:


pixi画布将显示,但mario sprite不会显示。

是否有理由将画布附加到主体而不是模板?Blaze默认安装在身体上,这可能会抹掉你的画布,结果是在你的游戏模板中放置一个容器div,并将你的画布附加到该模板中,我实际上将画布附加到模板中的一个div,并得到了相同的错误。我确实在我的帖子中使用了document.body,因为我不确定pixi用户是否会意识到blaze works,我想尊重他们的基本示例。是否有理由将画布附加到body而不是模板?Blaze默认安装在身体上,这可能会抹掉你的画布,结果是在你的游戏模板中放置一个容器div,并将你的画布附加到该模板中,我实际上将画布附加到模板中的一个div,并得到了相同的错误。我确实在我的帖子中使用了document.body,因为我不确定pixi用户是否会意识到blaze的工作,我想尊重他们的基本示例。
<template name="game"></template>
Template.game.onRendered(function () {
PIXI.loader.add("assets/mario.png")
    .load(() => {
        let app = new PIXI.Application();
        document.body.appendChild(app.view);
        let mario = new PIXI.Sprite(PIXI.loader.resources["assets/mario.png"].texture);
        mario.position.set(5, 5);
        mario.width = 48;
        mario.height = 48;
        app.stage.addChild(mario);
        app.render();
    });
});