Jump to content

How does blendModes work in Phaser.Graphics compared to Sprites

Kacper Pietrzak

Recommended Posts

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;

 // 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 :)


Link to comment
Share on other sites

@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


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...