From 591b21c8ea44297b2c32cf1eb0ed79da564c9e49 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Mon, 6 May 2013 18:44:48 +0200 Subject: [PATCH] Minor fixes. --- spine-as3/spine-as3/src/spine/Skeleton.as | 3 ++- spine-as3/spine-as3/src/spine/SkeletonJson.as | 4 ++-- .../src/spine/flash/SkeletonSprite.as | 24 ++++++++++++++----- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/spine-as3/spine-as3/src/spine/Skeleton.as b/spine-as3/spine-as3/src/spine/Skeleton.as index 39e49c337..92e1e4fb8 100644 --- a/spine-as3/spine-as3/src/spine/Skeleton.as +++ b/spine-as3/spine-as3/src/spine/Skeleton.as @@ -143,7 +143,7 @@ public class Skeleton { public function set skin (newSkin:Skin) : void { if (skin != null && newSkin != null) newSkin.attachAll(this, skin); - skin = newSkin; + _skin = newSkin; } /** @return May be null. */ @@ -181,6 +181,7 @@ public class Skeleton { slot.attachment = attachment; return; } + i++; } throw new ArgumentError("Slot not found: " + slotName); } diff --git a/spine-as3/spine-as3/src/spine/SkeletonJson.as b/spine-as3/spine-as3/src/spine/SkeletonJson.as index 2176a93dd..b43f3a038 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonJson.as +++ b/spine-as3/spine-as3/src/spine/SkeletonJson.as @@ -193,8 +193,8 @@ public class SkeletonJson { var slotMap:Object = slots[slotName]; var slotIndex:int = skeletonData.findSlotIndex(slotName); - for (var timelineName2:Object in boneMap) { - var values2:Object = boneMap[timelineName2]; + for (var timelineName2:Object in slotMap) { + var values2:Object = slotMap[timelineName2]; if (timelineName2 == TIMELINE_COLOR) { var timeline2:ColorTimeline = new ColorTimeline(values2.length); timeline2.slotIndex = slotIndex; diff --git a/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as b/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as index 215106438..36f8ff52a 100644 --- a/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as +++ b/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as @@ -53,23 +53,35 @@ public class SkeletonSprite extends Sprite { var region:AtlasRegion = AtlasRegion(regionAttachment.rendererObject); if (!wrapper) { var bitmapData:BitmapData = region.page.rendererObject as BitmapData; - var regionData:BitmapData = new BitmapData(region.width, region.height); - regionData.copyPixels(bitmapData, // - new Rectangle(region.x, region.y, region.width, region.height), // - new Point()); + var regionData:BitmapData; + if (region.rotate) { + regionData = new BitmapData(region.height, region.width); + regionData.copyPixels(bitmapData, // + new Rectangle(region.x, region.y, region.height, region.width), // + new Point()); + } else { + regionData = new BitmapData(region.width, region.height); + regionData.copyPixels(bitmapData, // + new Rectangle(region.x, region.y, region.width, region.height), // + new Point()); + } var bitmap:Bitmap = new Bitmap(regionData); bitmap.smoothing = true; bitmap.x = -regionAttachment.width / 2; // Registration point. bitmap.y = -regionAttachment.height / 2; + if (region.rotate) { + bitmap.rotation = 90; + bitmap.x += region.width; + } wrapper = new Sprite(); wrapper.addChild(bitmap); regionAttachment["wrapper"] = wrapper; } var bone:Bone = slot.bone; - var x:Number = regionAttachment.x + region.offsetX; - var y:Number = regionAttachment.y + region.offsetY; + var x:Number = regionAttachment.x - region.offsetX; + var y:Number = regionAttachment.y - region.offsetY; wrapper.x = bone.worldX + x * bone.m00 + y * bone.m01; wrapper.y = bone.worldY + x * bone.m10 + y * bone.m11; wrapper.rotation = -(bone.worldRotation + regionAttachment.rotation);