我有这个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()
我该怎么做呢?
答案 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();
应该这样做。
Ť