Miniversal Posted May 18, 2016 Share Posted May 18, 2016 I have a very simple extended sprite that just adds an index value of what spawn position that particular sprite occupies. I can't figure out why the body is null when I try to set some other attributes of the new sprite though. Any input on what am I doing wrong here? ////////////////////////////////////////////////////////////////////////// // BRICK // Custom Sprite object that will included a property to keep track of // which spawnPoint the brick occupies ////////////////////////////////////////////////////////////////////////// var Brick = function(game, key, x, y, idx){ Phaser.Sprite.call(this, game, x, y, key); this.anchor.x = 0.5; this.anchor.y = 0.5; this.body.bounce.set(1); //<--ERROR this.body is null??? this.body.immovable = true; this.spawnPoint = idx; } Brick.prototype = Object.create(Phaser.Sprite.prototype); Brick.prototype.constructor = Brick; //The code that creates the sprite... var brick = new Brick(game, 'brick_' + brickNum, spawnPoint.x, spawnPoint.y, spawnPoint.idx); bricks.add(brick); If I don't use the extended sprite and just use group.create() then the sprite body is not null and everything works. Is it because brick is a reference to the group's object and not the sprite? If so, how do I go about setting the attributes on the sprite's group element? brick = bricks.create(spawnPoint.x, spawnPoint.y, 'brick_' + brickNum); brick.anchor.x = 0.5; brick.anchor.y = 0.5; brick.body.bounce.set(1); brick.body.immovable = true; Link to comment Share on other sites More sharing options...
Miniversal Posted May 18, 2016 Author Share Posted May 18, 2016 Nevermind, I figured it out. I had to add the sprite to the group before trying to alter the sprite body. Link to comment Share on other sites More sharing options...
Skeptron Posted May 19, 2016 Share Posted May 19, 2016 A Sprite doesn't have a body by default. You have to add one manually : either by applying physics to the sprite in its constructor, or by putting the sprite into a physics group (which you are doing). Sprite = image Body = physics. A sprite can very well live without a body. Think about a Candy Crush-like game : lots of images, but no physics! drhayes and Umz 2 Link to comment Share on other sites More sharing options...
Recommended Posts