diff --git a/spine-starling/spine-starling/.actionScriptProperties b/spine-starling/spine-starling/.actionScriptProperties
index 6d614b3c3..83359ca05 100644
--- a/spine-starling/spine-starling/.actionScriptProperties
+++ b/spine-starling/spine-starling/.actionScriptProperties
@@ -10,7 +10,7 @@
-
+
diff --git a/spine-starling/spine-starling/libs/starling-1.3.swc b/spine-starling/spine-starling/libs/starling-1.3.swc
deleted file mode 100644
index 9c9e08f17..000000000
Binary files a/spine-starling/spine-starling/libs/starling-1.3.swc and /dev/null differ
diff --git a/spine-starling/spine-starling/libs/starling-1.4.swc b/spine-starling/spine-starling/libs/starling-1.4.swc
new file mode 100644
index 000000000..7921be85f
Binary files /dev/null and b/spine-starling/spine-starling/libs/starling-1.4.swc differ
diff --git a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as
index 1e7a6e241..12d62b8e8 100644
--- a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as
+++ b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as
@@ -48,6 +48,7 @@ import starling.display.BlendMode;
import starling.display.DisplayObject;
import starling.utils.Color;
import starling.utils.MatrixUtil;
+import starling.utils.VertexData;
public class SkeletonSprite extends DisplayObject implements IAnimatable {
static private var tempPoint:Point = new Point();
@@ -71,33 +72,35 @@ public class SkeletonSprite extends DisplayObject implements IAnimatable {
override public function render (support:RenderSupport, alpha:Number) : void {
alpha *= this.alpha * skeleton.a;
+ var r:Number = skeleton.r * 255;
+ var g:Number = skeleton.g * 255;
+ var b:Number = skeleton.b * 255;
+ var x:Number = skeleton.x;
+ var y:Number = skeleton.y;
var drawOrder:Vector. = skeleton.drawOrder;
for (var i:int = 0, n:int = drawOrder.length; i < n; i++) {
var slot:Slot = drawOrder[i];
var regionAttachment:RegionAttachment = slot.attachment as RegionAttachment;
if (regionAttachment != null) {
var vertices:Vector. = this.vertices;
- regionAttachment.computeWorldVertices(skeleton.x, skeleton.y, slot.bone, vertices);
- var r:Number = skeleton.r * slot.r * 255;
- var g:Number = skeleton.g * slot.g * 255;
- var b:Number = skeleton.b * slot.b * 255;
+ regionAttachment.computeWorldVertices(x, y, slot.bone, vertices);
var a:Number = slot.a;
- var rgb:uint = Color.rgb(r,g,b);
+ var rgb:uint = Color.rgb(r * slot.r, g * slot.g, b * slot.b);
var image:SkeletonImage = regionAttachment.rendererObject as SkeletonImage;
- var vertexData:Vector. = image.vertexData.rawData;
+ var vertexData:VertexData = image.vertexData;
- image.vertexData.setPosition(0, vertices[2], vertices[3]);
- image.vertexData.setColorAndAlpha(0, rgb, a);
+ vertexData.setPosition(0, vertices[2], vertices[3]);
+ vertexData.setColorAndAlpha(0, rgb, a);
- image.vertexData.setPosition(1, vertices[4], vertices[5]);
- image.vertexData.setColorAndAlpha(1, rgb, a);
+ vertexData.setPosition(1, vertices[4], vertices[5]);
+ vertexData.setColorAndAlpha(1, rgb, a);
- image.vertexData.setPosition(2, vertices[0], vertices[1]);
- image.vertexData.setColorAndAlpha(2, rgb, a);
-
- image.vertexData.setPosition(3, vertices[6], vertices[7]);
- image.vertexData.setColorAndAlpha(3, rgb, a);
+ vertexData.setPosition(2, vertices[0], vertices[1]);
+ vertexData.setColorAndAlpha(2, rgb, a);
+
+ vertexData.setPosition(3, vertices[6], vertices[7]);
+ vertexData.setColorAndAlpha(3, rgb, a);
image.updateVertices();
support.blendMode = slot.data.additiveBlending ? BlendMode.ADD : BlendMode.NORMAL;
diff --git a/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as b/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as
index a91404313..4d4ceb009 100644
--- a/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as
+++ b/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as
@@ -62,12 +62,12 @@ public class StarlingAtlasAttachmentLoader implements AttachmentLoader {
var frame:Rectangle = texture.frame;
texture = Texture.fromTexture(texture); // Discard frame.
regionAttachment.rendererObject = new SkeletonImage(texture);
- regionAttachment.regionOffsetX = frame.x;
- regionAttachment.regionOffsetY = frame.y;
- regionAttachment.regionWidth = frame.width;
- regionAttachment.regionHeight = frame.height;
- regionAttachment.regionOriginalWidth = texture.width;
- regionAttachment.regionOriginalHeight = texture.height;
+ regionAttachment.regionOffsetX = -frame.x;
+ regionAttachment.regionOffsetY = -frame.y;
+ regionAttachment.regionWidth = texture.width;
+ regionAttachment.regionHeight = texture.height;
+ regionAttachment.regionOriginalWidth = frame.width;
+ regionAttachment.regionOriginalHeight = frame.height;
return regionAttachment;
case AttachmentType.boundingbox:
return new BoundingBoxAttachment(name);