Giter Site home page Giter Site logo

gasm's People

Contributors

lbergman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gasm's Issues

Display order

Hi there,

I am writing this because I have a similar project, an ECS based on Flambe for my games (because Flambe indeed is nice and pragmatic ๐Ÿ‘ ). I have a version for Pixi.js and Heaps. (btw its not opensource/online so cannot really show something)

I was wondering how this framework deals with display order.

What I did is maybe less generic as what you did, but I'm curious how you deal with the display list.

  • Keep most of Flambe which isn't specific for platform the same. Replace flambe's systems (stage/keyboard/etc..) with specialized systems for the platforms. It's not that nicely generic as you have (it more looks like wrecked Flambe ๐Ÿ˜‹ ), but is still usable.
  • I've created a DisplayComponent. This replaces Sprite and friends. A DisplayComponent holds a container, which is native pixi/heaps Sprite. In onStart of DisplayComponent, I look in parents for DisplayComponent, and attach the container to the parent container. The root DisplayComponent is added to the stage. Doing this makes it automatically work.

The problems I deal with is;

  • If a new DisplayComponent is added to the parent tree after a DisplayComponent is attached to the displaylist, it's hard to put this new container in-between (or even know that this event happened without making it lookup everything every frame).
  • If an Entity is reparented (for example I put in same parent Entity to sort it/put it on top), its hard to keep the order of the displaylist the same as the Entity tree. I cannot use onAdded/onRemoved because its not guaranteed that it has full access parent Entity tree yet. I now have to call reparent() manually but this is not that nice.

I see that you have a similar DisplayComponent how it is attached to display list seems to be done differently.
How does GASM deal with native display list v.s. Entity tree and how responsive is it when reparenting happens?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.