diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/JitterEffect.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/JitterEffect.java index 52a40b593..25a77ee55 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/JitterEffect.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/JitterEffect.java @@ -14,6 +14,17 @@ public class JitterEffect implements VertexEffect { this.y = y; } + public void begin (Skeleton skeleton) { + } + + public void transform (Vector2 vertex) { + vertex.x += MathUtils.randomTriangular(-x, y); + vertex.y += MathUtils.randomTriangular(-x, y); + } + + public void end () { + } + public void setJitter (float x, float y) { this.x = x; this.y = y; @@ -26,15 +37,4 @@ public class JitterEffect implements VertexEffect { public void setJitterY (float y) { this.y = y; } - - public void begin (Skeleton skeleton) { - } - - public void transform (Vector2 vertex) { - vertex.x += MathUtils.randomTriangular(-x, y); - vertex.y += MathUtils.randomTriangular(-x, y); - } - - public void end () { - } } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/SwirlEffect.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/SwirlEffect.java index 191676061..f83a4aefb 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/SwirlEffect.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/vertexeffects/SwirlEffect.java @@ -17,6 +17,26 @@ public class SwirlEffect implements VertexEffect { this.radius = radius; } + public void begin (Skeleton skeleton) { + worldX = skeleton.getX() + centerX; + worldY = skeleton.getY() + centerY; + } + + public void transform (Vector2 vertex) { + float x = vertex.x - worldX; + float y = vertex.y - worldY; + float dist = (float)Math.sqrt(x * x + y * y); + if (dist < radius) { + float theta = interpolation.apply(0, angle, (radius - dist) / radius); + float cos = SpineUtils.cos(theta), sin = SpineUtils.sin(theta); + vertex.x = cos * x - sin * y + worldX; + vertex.y = sin * x + cos * y + worldY; + } + } + + public void end () { + } + public void setRadius (float radius) { this.radius = radius; } @@ -38,23 +58,11 @@ public class SwirlEffect implements VertexEffect { this.angle = degrees * MathUtils.degRad; } - public void begin (Skeleton skeleton) { - worldX = skeleton.getX() + centerX; - worldY = skeleton.getY() + centerY; + public Interpolation getInterpolation () { + return interpolation; } - public void transform (Vector2 vertex) { - float x = vertex.x - worldX; - float y = vertex.y - worldY; - float dist = (float)Math.sqrt(x * x + y * y); - if (dist < radius) { - float theta = interpolation.apply(0, angle, (radius - dist) / radius); - float cos = SpineUtils.cos(theta), sin = SpineUtils.sin(theta); - vertex.x = cos * x - sin * y + worldX; - vertex.y = sin * x + cos * y + worldY; - } - } - - public void end () { + public void setInterpolation (Interpolation interpolation) { + this.interpolation = interpolation; } }