Kacper Pietrzak Posted July 16, 2017 Share Posted July 16, 2017 Hey guys, Recently I've noticed some strange behaviour while using blendModes on Phaser.Graphics. I am creating a flashlight by drawing dark rectangle and lighter calculated shape of light from flashlight, I draw that on Phaser.Graphics object. Then I apply this object as a texture to sprite to see the difference between rendered outcomes. this.shadowTexture = this.player.game.add.graphics( 0, 0 ); this.shadowTexture.blendMode = Phaser.blendModes.MULTIPLY; this.sprite = this.player.game.add.sprite( 200, 0, this.shadowTexture.generateTexture() ); this.sprite.blendMode = Phaser.blendModes.MULTIPLY; update(){ // draw on shadowTexture ... this.sprite.texture = this.shadowTexture.generateTexture(); // just for test purposes } this code results in such situation: As you can see, blendMode used in Phaser.Graphics resulted with darker flashlight and the one used in Phaser.Sprite in lighter. Am I getting this all totally wrong ? Or is this some kind of a bug ? What I would like to achieve is the effect that I get using Sprite just by using Phaser.Graphics. Please, help guys, I am a bit confused here Thanks Link to comment Share on other sites More sharing options...
samme Posted July 20, 2017 Share Posted July 20, 2017 I'm not sure. Try setting blendMode on either the graphics object or the sprite, but not both. Link to comment Share on other sites More sharing options...
Kacper Pietrzak Posted July 21, 2017 Author Share Posted July 21, 2017 @samme Setting in only on sprite works just fine, but I cannot afford generatingTextue from Phaser.Graphics every frame. Setting it only on Phaser.Graphics and not applying it to sprite but just displaying results in white color not giving a nice transparent flashlight shape, but is not visible at all. Making it darker than pure white results in what you see one the left side of the picture. So, this behaviour is still kind of mystery for me. Link to comment Share on other sites More sharing options...
Recommended Posts