是否可以在pixi.js中使用包括图形对象的粒子容器而不是精神?如果我使用图形类,则由于缺少纹理而引发异常。
TypeError: e[0]._texture is undefined
目标是使用粒子容器的快速渲染性能显示大量的图形元素(例如矩形,圆,多边形)。
var group = new PIXI.ParticleContainer(2000, {scale: true, position: true, rotation: true});
for(var i=0; i <1000; i++)
{
var graphics = new PIXI.Graphics();
graphics.lineStyle(1, 0xef7975, 1);
graphics.beginFill(0xef7975, 1);
graphics.drawRect(0, 0, 10, 10);
graphics.endFill();
//Add Positioning, rotation, or scaling
//....
group.addChild(graphics);
}
ne可能性是使用图形类的GenerateTeTexture(分辨率,ScaleMode)函数。该纹理可用于实例化精灵并将其添加到粒子容器中。
var sprite = new PIXI.Sprite(this.graphics.generateTexture(this.width * this.height, PIXI.scaleModes.DEFAULT));
group.addChild(sprite);
将图形转换为纹理执行此操作:
let texture = renderer.generateTexture( graphic );
这是一个演示:http://codepen.io/lonelydatum/pen/eggeje?editors=0010#0