Comments (6)
+1 I seem to be having the same issue when trying to remove a child that was definitely added to the appropriate stage.
from pixijs.
Hi There! Very interesting indeed! I'm pretty sure that the remove child function works OK as its fairly simple. When it throws that error its because the child is not in the children array:
PIXI.DisplayObjectContainer.prototype.removeChild = function(child)
{
var index = this.children.indexOf( child );
if ( index !== -1 )
{
// remove child code
}
else
{
throw new Error(child + " The supplied DisplayObject must be a child of the caller " + this);
}
}
It could be the case that you are removing the item twice in your destroy function? I have accidentally done this a few times myself :P
If you guys dont mind sharing you code I would be more than happy to take a look and see if it is pixi.js that is playing up.
Another way to check is to see if the stage contains the display object before removing. I will add this to the master build but for now this code snippet might help (add it to your codebase after importing pixi.js file):
PIXI.DisplayObjectContainer.prototype.contains = function(child)
{
return (this.children.indexOf( child ) !== -1);
}
You will be able to go
// will return true if is child otherwise false
var isChild = Stage.contains(displayObject)
from pixijs.
@GoodBoyDigital you were right. I was calling it twice! Sorry...
from pixijs.
This is working for me now. I was containing my objects in a plain array, and was trying to keep the two in sync. However, when I just use the stage itself as a container, everything works fine.
I am fairly new to game development, so maybe you can offer some insight on the best way to keep track of objects or sprites in Pixi. Basically any collection of entities. Would you suggest having only one stage and then having DisplayObjectContainers for each collection? For example, things like, bullets, explosions, enemies, particles, etc.
I am used to just keeping track of everything with plain JavaScript, so switching over to the structure of Pixi (which is WAY better) is just a little confusing. I am sure all of this will make a lot more sense once full game demos with source code get posted for studying purposes, such as run pixi run ;)
from pixijs.
samueller, no worries! If I had a penny for every time I did that I would be a man of moderate wealth ;)
jackrugile, for run pixi run I did exactly what you are doing. I keep an plain old array to store game elements. An array for enemies, an array for pickups etc.
Pixi.js isnt really a game engine, its main purpose is to render things to the screen (which is definitely useful for games though!) So your current plan of keeping your game logic separated from the rendering logic is definitely the way to go!
We are working on a little game to share with everyone. Hopefully it will help people understand the best way to use pixi.js :)
from pixijs.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from pixijs.
Related Issues (20)
- Bug: TypeError: Cannot read properties of null (reading 'uid') HOT 1
- Bug: The content of multiple texts overlaps with each other. HOT 17
- Bug: [v8] antialias=true drastically cuts performance even when idle HOT 3
- Bug: Arc line cap not re-rendered if graphics is cleared HOT 1
- Bug: v8 mask container bounds changes
- Bug: Unable to add a mask to the text HOT 1
- Bug: [v8] Multiple issues with mipmaps HOT 7
- Bug: Sprite alpha masks broken in chrome & edge HOT 7
- Bug: V8 text stroke is applied even with width 0. Also strokeThickness does not update at runtime
- Bug: [v8] double `onRender` of rendergroup? HOT 1
- Bug: Can't get updated worldTransform immediately
- Bug: [v8] arctifact when rendering big polygon with offscreen coordinates in Firefox and Safari HOT 4
- Is it possible to do a lossless rotation in Pixi?
- Bug: When forceCanvas is true, mask sprites with sprites doesn't work
- Bug: Some props like dropShadow and resolution are not updating for Text object.
- Bug: Generated Texture doesn't support scale mode since 8.1.0 HOT 2
- Bug: Events are firing twice when we have dynamic and static mode
- [bug] v8 NineSliceSprite doesnt works as mask on Sprite HOT 1
- Bug: v8 ESM is broken with esm.run HOT 4
- V8 Bug! HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pixijs.