Smilo Posted December 6, 2014 Share Posted December 6, 2014 I have am trying to flip a sprite using sprite.scale.x = -1; This works fine however because I have scaled the sprite previously (Just part of my game mechanics to have different sized enemies) it seems to set the width of the sprite to the origional width values of the image. I was hoping someone could help me to fix this problem as I have been struggling with it. Thanks in advance Link to comment Share on other sites More sharing options...
richpixel Posted February 6, 2015 Share Posted February 6, 2015 Interesting when I flip an image like this: image.scale.x *= 1; then check the width console.log(image.width); // shows -511 It shows a negative width! Pretty sure that is incorrect behavior... Link to comment Share on other sites More sharing options...
MikeT Posted February 7, 2015 Share Posted February 7, 2015 Use the random scale you selected for the particular monster, and turn that into a negative. So if you're scaling a particular enemy to 2.5, you'll have to make it a -2.5. I just set a scaleSetting variable for specific monsters, not random, so I end up with monster.scale.setTo(-scaleSetting, scaleSetting). Interesting when I flip an image like this: image.scale.x *= 1; then check the width console.log(image.width); // shows -511 It shows a negative width! Pretty sure that is incorrect behavior... That's just how Phaser handles sprite rendering. It basically translates to stretching the width out into negative coordinates based on your sprite being (0,0). A positive width would be stretching out on the X axis into positive numbers. Link to comment Share on other sites More sharing options...
Recommended Posts