Skip to content

Commit 9651190

Browse files
committed
Rendering a Spine object when a Camer has renderToTexture enabled on it would cause the object to be vertically flipped. It now renders correctly in both cases. Fix phaserjs#4647
1 parent d5d9d99 commit 9651190

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

plugins/spine/src/gameobject/SpineGameObject.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ var SpineGameObject = new Class({
8686

8787
var skeleton = data.skeleton;
8888

89-
skeleton.flipY = (this.scene.sys.game.config.renderType === 1);
90-
9189
skeleton.setToSetupPose();
9290

9391
skeleton.updateWorldTransform();
@@ -276,9 +274,6 @@ var SpineGameObject = new Class({
276274
{
277275
var skeleton = this.skeleton;
278276

279-
skeleton.flipX = this.flipX;
280-
skeleton.flipY = this.flipY;
281-
282277
this.state.update((delta / 1000) * this.timeScale);
283278

284279
this.state.apply(skeleton);

plugins/spine/src/gameobject/SpineGameObjectWebGLRenderer.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,18 @@ var SpineGameObjectWebGLRenderer = function (renderer, src, interpolationPercent
7777
var height = renderer.height;
7878

7979
skeleton.x = calcMatrix.tx;
80-
skeleton.y = height - calcMatrix.ty;
8180
skeleton.scaleX = calcMatrix.scaleX;
82-
skeleton.scaleY = calcMatrix.scaleY;
81+
82+
if (camera.renderToTexture)
83+
{
84+
skeleton.y = calcMatrix.ty;
85+
skeleton.scaleY = calcMatrix.scaleY * -1;
86+
}
87+
else
88+
{
89+
skeleton.y = height - calcMatrix.ty;
90+
skeleton.scaleY = calcMatrix.scaleY;
91+
}
8392

8493
src.root.rotation = RadToDeg(CounterClockwise(calcMatrix.rotation));
8594

0 commit comments

Comments
 (0)