pixijs / layers

Separate the z-hierarchy of your scene tree from its canonical structure.
https://pixijs.io/layers/docs/
MIT License
222 stars 57 forks source link

Support for Pixi 5.0.0 #46

Open artch opened 5 years ago

artch commented 5 years ago

Pixi 5.0.0 is released now. Any plans to support it? We'd like to use Pixi v5 in our project because of its new features, but we use layers a lot too.

jonlepage commented 5 years ago

hi, yes ivan told me he will do it, but it a lot of work! maybe not soon. i also wait compatibility before start with v5 :)

pixi-layers.js pixi-lights.js pixi-spine.js pixi-projection-spine.js pixi-heaven.js

wpitallo commented 5 years ago

This would be great!

ivanpopelyshev commented 5 years ago

Please read https://github.com/pixijs/pixi-layers/tree/master#migration-from-v4

I didn't port double-buffering and lighting yet, but basic sorting and stuff works.

wpitallo commented 5 years ago

Awesome, thanks so much, I see that Pixi 5 does have z-index support, what other benefits does pixi-layers.js provide? And is it preferable to use layers of the native z-index support? Does this upgrade also support pixi5 legacy? Thx in advance for the help!

ivanpopelyshev commented 5 years ago

There's an explanation in repo. Basically, pixijs can sort things inside one container, pixi-layers sorts through whole tree.

Basic use-case is when you have multiple characters, each has its own healthbar and shadows. healthbars have to be on top of all chars, shadow below them.

wpitallo commented 5 years ago

Awsome, thx very much :)

rkdrnf commented 5 years ago

Uncaught ReferenceError: PIXI is not defined error occurs when used with PIXI v5 ES6 imports.

ivanpopelyshev commented 5 years ago

I will not support ES6 imports before we have solution both for them and typescript in our main plugin, pixi-spine. Its a very hard task and you shouldn't wait for it.

Please inject PIXI into window before you import pixi-display.

Honestly, I think that ES6 imports are the worse thing that ever happened to JS.

R4wizard commented 5 years ago

In light of the amount of 👎 to your opinion, is there any chance you'll reconsider?

ivanpopelyshev commented 5 years ago

Current solution for all my plugins, works with angular and other stuff

import * as PIXI from `pixi.js`
window.PIXI = PIXI; //or global
require('pixi-layers');

It doesnt depend on whether or not i like it. I can rewrite everything to use modules but only on JS, not TS.

Root problem is that PixiJS typings dont support modules. It was really hard to generate typings from jsdoc. Now we need to support modules.. well.. how?

ivanpopelyshev commented 5 years ago

We might put on this request significant bounty through https://opencollective.com/pixijs :)