如何在没有舞台的情况下使用pixi.js?

时间:2015-05-14 12:27:59

标签: javascript pixi.js

我有这个pixi.js代码可以做它应该做的事情:绘制一个矩形。

   var stage, renderer, graphics;

    (function () {
      // init PIXI
      // create an new instance of a pixi stage
      stage = new PIXI.Stage(0x66FF99);

      // create a renderer instance.
      renderer = PIXI.autoDetectRenderer(400, 300);

      $('#pixi-area').append(renderer.view);

      graphics = new PIXI.Graphics();
      graphics.beginFill(0xFFFFFF);
      graphics.lineStyle(1, 0xFF0000);
      graphics.drawRect(20, 20, 150, 150);
      stage.addChild(graphics);
      renderer.render(stage);
    }());

但是,在控制台中我得到了声明

You do not need to use a PIXI Stage any more, you can simply render any container.

如果不使用PIXI.Stage()我该怎么做呢?

3 个答案:

答案 0 :(得分:8)

我实际上遇到了同样的问题!我最终找到了PIXI的新文档,可以在http://pixijs.github.io/docs/index.html找到。

它们引用的容器是为替换Stage对象而引入的新对象。 http://pixijs.github.io/docs/PIXI.Container.html#toc1

  

stage = new PIXI.Stage(0x66FF99)

     

现在变成,

     

var container = new PIXI.Container();

希望这有帮助! :)

答案 1 :(得分:3)

你应该离开:

var stage = new PIXI.Stage(0x65C25D);

要:

var stage = new PIXI.Container();

如果您仍想使用背景颜色,可以在声明renderer时指定它:

var renderer = PIXI.autoDetectRenderer(width, height, {
    backgroundColor: 0x65C25D
});

答案 2 :(得分:1)

提及@ Mattnv92 时,任何继承自Container(formarly DisplayObjectContainer)的对象,例如如果我没弄错的话,Sprite,Graphics等现在可以直接渲染到画布上。

stage = new PIXI.Stage(0x66FF99);更改为stage = new PIXI.Container();应该这样做。

Ť