Skip to content

Commit f9ffe09

Browse files
committed
Check the worldAlpha when rendering.
1 parent 9fcfa86 commit f9ffe09

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

src/gameobjects/image/ImageCanvasRenderer.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,30 @@ Phaser.Renderer.Canvas.GameObjects.Image = {
1818

1919
// Skip rendering?
2020

21-
if (src.skipRender || !src.visible || !src.alpha || !frame.cutWidth || !frame.cutHeight)
21+
if (src.skipRender || !src.visible || src.worldAlpha <= 0 || !frame.cutWidth || !frame.cutHeight)
2222
{
2323
return;
2424
}
2525

2626
// Blend Mode
2727

28-
if (src.blendMode !== renderer.currentBlendMode)
28+
if (renderer.currentBlendMode !== src.blendMode)
2929
{
3030
renderer.currentBlendMode = src.blendMode;
3131
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
3232
}
3333

34-
// Alpha (World Alpha?)
34+
// Alpha
3535

36-
if (src.alpha !== renderer.context.globalAlpha)
36+
if (renderer.currentAlpha !== src.worldAlpha)
3737
{
38-
renderer.context.globalAlpha = src.alpha;
38+
renderer.currentAlpha = src.worldAlpha;
39+
renderer.context.globalAlpha = src.worldAlpha;
3940
}
4041

4142
// Smoothing (should this be a Game Object, or Frame / Texture level property?)
4243

43-
if (source.scaleMode !== renderer.currentScaleMode)
44+
if (renderer.currentScaleMode !== source.scaleMode)
4445
{
4546
renderer.currentScaleMode = source.scaleMode;
4647
renderer.context[renderer.smoothProperty] = (source.scaleMode === Phaser.scaleModes.LINEAR);

src/gameobjects/sprite/SpriteCanvasRenderer.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,32 @@ Phaser.Renderer.Canvas.GameObjects.Sprite = {
1616
var frame = src.frame;
1717
var source = frame.source;
1818

19-
// Skip render?
19+
// Skip rendering?
2020

21-
if (src.skipRender || !src.visible || !src.alpha || !frame.cutWidth || !frame.cutHeight)
21+
if (src.skipRender || !src.visible || src.worldAlpha <= 0 || !frame.cutWidth || !frame.cutHeight)
2222
{
2323
return;
2424
}
2525

2626
// Blend Mode
2727

28-
if (src.blendMode !== renderer.currentBlendMode)
28+
if (renderer.currentBlendMode !== src.blendMode)
2929
{
3030
renderer.currentBlendMode = src.blendMode;
3131
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
3232
}
3333

34-
// Alpha (World Alpha?)
34+
// Alpha
3535

36-
if (src.alpha !== renderer.context.globalAlpha)
36+
if (renderer.currentAlpha !== src.worldAlpha)
3737
{
38-
renderer.context.globalAlpha = src.alpha;
38+
renderer.currentAlpha = src.worldAlpha;
39+
renderer.context.globalAlpha = src.worldAlpha;
3940
}
4041

4142
// Smoothing (should this be a Game Object, or Frame / Texture level property?)
4243

43-
if (source.scaleMode !== renderer.currentScaleMode)
44+
if (renderer.currentScaleMode !== source.scaleMode)
4445
{
4546
renderer.currentScaleMode = source.scaleMode;
4647
renderer.context[renderer.smoothProperty] = (source.scaleMode === Phaser.scaleModes.LINEAR);

0 commit comments

Comments
 (0)