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);