ZoomBox Posted May 13, 2014 Share Posted May 13, 2014 Hello, I would like to create a sprite (with a texture and a polygon body) without adding it to the world.I know that without game.add.existing(myEnnemy); it will not be shown, but his body IS in the world (yeah that's strange). Thank you Edit: I would like a kind of SpriteFactory actually with the ability to create multiple instance of the same sprite.Like this:Ennemy = new Ennemy(x,y, key, body);var ennemy1 = Ennemy.createNew();var ennemy2 Ennemy.createNew();var ennemy3 Ennemy.createNew();But it seems a bit complicated. Link to comment Share on other sites More sharing options...
rich Posted May 13, 2014 Share Posted May 13, 2014 game.make.sprite() ZoomBox 1 Link to comment Share on other sites More sharing options...
rich Posted May 13, 2014 Share Posted May 13, 2014 Rats, hit enter too soon. game.make.sprite will create a Sprite and not add it to the world. If you want to give it a P2 body but not have the P2 body added to the physics world you currently have to do it like this:var yourSprite = game.make.sprite(x, y, ...);yourSprite.exists = false;game.physics.p2.enable(yourSprite);The 'exists' false will still give the sprite a body, but the body won't be added into the simulation. This is far easier to wrap up when done in your own class. ZoomBox 1 Link to comment Share on other sites More sharing options...
ZoomBox Posted May 13, 2014 Author Share Posted May 13, 2014 Oh nice. Thank you.Now the problem is that I don't want to make a sprite but a custom class that extends Sprite. Edit: Oh, this second answer is quite making me happy. I already tried mySprite.exists = false; but noticed that the body was still in the world, I didn't know I should have done it BEFORE enabling physics (and it works like this). Link to comment Share on other sites More sharing options...
Recommended Posts