Skip to content

Commit dbdabcc

Browse files
committed
allow passing of pixi objects to Matter.RenderPixi at creation, closes #193
1 parent 99dd6c5 commit dbdabcc

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

src/render/RenderPixi.js

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/**
2-
* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).
2+
* The `Matter.RenderPixi` module is an example renderer using pixi.js.
3+
* See also `Matter.Render` for a canvas based renderer.
34
*
45
* @class RenderPixi
56
*/
@@ -24,6 +25,10 @@ var Common = require('../core/Common');
2425
controller: RenderPixi,
2526
element: null,
2627
canvas: null,
28+
renderer: null,
29+
container: null,
30+
spriteContainer: null,
31+
pixiOptions: null,
2732
options: {
2833
width: 800,
2934
height: 600,
@@ -50,17 +55,19 @@ var Common = require('../core/Common');
5055
transparent = !render.options.wireframes && render.options.background === 'transparent';
5156

5257
// init pixi
53-
render.context = new PIXI.WebGLRenderer(render.options.width, render.options.height, {
58+
render.pixiOptions = render.pixiOptions || {
5459
view: render.canvas,
5560
transparent: transparent,
5661
antialias: true,
5762
backgroundColor: options.background
58-
});
59-
60-
render.canvas = render.context.view;
61-
render.container = new PIXI.Container();
63+
};
64+
65+
render.renderer = render.renderer || new PIXI.WebGLRenderer(render.options.width, render.options.height, render.pixiOptions);
66+
render.container = render.container || new PIXI.Container();
67+
render.spriteContainer = render.spriteContainer || new PIXI.Container();
68+
render.canvas = render.canvas || render.renderer.view;
6269
render.bounds = render.bounds || {
63-
min: {
70+
min: {
6471
x: 0,
6572
y: 0
6673
},
@@ -76,7 +83,6 @@ var Common = require('../core/Common');
7683
render.primitives = {};
7784

7885
// use a sprite batch for performance
79-
render.spriteContainer = new PIXI.Container();
8086
render.container.addChild(render.spriteContainer);
8187

8288
// insert canvas
@@ -149,7 +155,7 @@ var Common = require('../core/Common');
149155
if (isColor) {
150156
// if solid background color
151157
var color = Common.colorToNumber(background);
152-
render.context.backgroundColor = color;
158+
render.renderer.backgroundColor = color;
153159

154160
// remove background sprite if existing
155161
if (bgSprite)
@@ -178,7 +184,7 @@ var Common = require('../core/Common');
178184
RenderPixi.world = function(engine) {
179185
var render = engine.render,
180186
world = engine.world,
181-
context = render.context,
187+
renderer = render.renderer,
182188
container = render.container,
183189
options = render.options,
184190
bodies = Composite.allBodies(world),
@@ -236,7 +242,7 @@ var Common = require('../core/Common');
236242
for (i = 0; i < constraints.length; i++)
237243
RenderPixi.constraint(engine, constraints[i]);
238244

239-
context.render(container);
245+
renderer.render(container);
240246
};
241247

242248

0 commit comments

Comments
 (0)