Browse Source

Organized and simplified spine-starling.

NathanSweet 12 years ago
parent
commit
45f93ca31f

+ 4 - 3
spine-starling/spine-starling-example/.actionScriptProperties

@@ -17,18 +17,19 @@
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/spark.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/sparkskins.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/rpc.swc" useDefaultLinkType="false"/>
-          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/videoPlayer.swc" useDefaultLinkType="false"/>
-          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/datavisualization.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/videoPlayer.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/spark_dmv.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation.swc" useDefaultLinkType="false"/>
-          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flash-integration.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_dmv.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flash-integration.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_flashflexkit.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_agent.swc" useDefaultLinkType="false"/>
         </excludedEntries>
       </libraryPathEntry>
       <libraryPathEntry kind="3" linkType="1" path="/spine-starling/bin/spine-starling.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="1" path="/spine-as3/bin/spine-as3.swc" useDefaultLinkType="false"/>
     </libraryPath>
     <sourceAttachmentPath/>
   </compiler>

+ 6 - 5
spine-starling/spine-starling-example/src/Game.as

@@ -1,9 +1,10 @@
 package {
 
 import spine.AnimationStateData;
-import spine.SkeletonAnimationSprite;
 import spine.SkeletonData;
-import spine.StarlingSkeletonJson;
+import spine.SkeletonJson;
+import spine.starling.SkeletonAnimationSprite;
+import spine.starling.StarlingAtlasAttachmentLoader;
 
 import starling.core.Starling;
 import starling.display.Sprite;
@@ -30,7 +31,7 @@ public class Game extends Sprite {
 		var xml:XML = XML(new SpineboyAtlasXml());
 		var atlas:TextureAtlas = new TextureAtlas(texture, xml);
 
-		var json:StarlingSkeletonJson = new StarlingSkeletonJson(atlas);
+		var json:SkeletonJson = new SkeletonJson(new StarlingAtlasAttachmentLoader(atlas));
 		var skeletonData:SkeletonData = json.readSkeletonData(new SpineboyJson());
 
 		var stateData:AnimationStateData = new AnimationStateData(skeletonData);
@@ -42,9 +43,9 @@ public class Game extends Sprite {
 		skeleton.setAnimationStateData(stateData);
 		skeleton.x = 320;
 		skeleton.y = 420;
-		skeleton.setAnimation("walk", true);
+		/*skeleton.setAnimation("walk", true);
 		skeleton.addAnimation("jump", false, 3);
-		skeleton.addAnimation("walk", true);
+		skeleton.addAnimation("walk", true);*/
 
 		addChild(skeleton);
 		Starling.juggler.add(skeleton);

+ 4 - 4
spine-starling/spine-starling/.actionScriptProperties

@@ -7,15 +7,15 @@
         <excludedEntries>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_charts.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/advancedgrids.swc" useDefaultLinkType="false"/>
-          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/charts.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_air.swc" useDefaultLinkType="false"/>
-          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/locale/{locale}" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/charts.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/netmon.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/locale/{locale}" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/spark.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/sparkskins.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/rpc.swc" useDefaultLinkType="false"/>
-          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/videoPlayer.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flash-integration.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/authoringsupport.swc" useDefaultLinkType="false"/>
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp.swc" useDefaultLinkType="false"/>
@@ -33,8 +33,8 @@
           <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_agent.swc" useDefaultLinkType="false"/>
         </excludedEntries>
       </libraryPathEntry>
-      <libraryPathEntry kind="3" linkType="1" path="/spine-as3/bin/spine-as3.swc" useDefaultLinkType="false"/>
       <libraryPathEntry kind="3" linkType="1" path="libs/starling.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="1" path="/spine-as3/bin/spine-as3.swc" useDefaultLinkType="false"/>
     </libraryPath>
     <sourceAttachmentPath/>
   </compiler>

+ 0 - 34
spine-starling/spine-starling/src/spine/StarlingSkeletonJson.as

@@ -1,34 +0,0 @@
-package spine {
-import flash.utils.ByteArray;
-
-import spine.Bone;
-import spine.SkeletonData;
-import spine.SkeletonJson;
-import spine.attachments.AttachmentLoader;
-
-import starling.textures.TextureAtlas;
-
-public class StarlingSkeletonJson {
-	private var json:SkeletonJson;
-
-	/** @param object A TextureAtlas or AttachmentLoader. */
-	public function StarlingSkeletonJson (object:*) {
-		if (object is TextureAtlas)
-			json = new SkeletonJson(new StarlingAtlasAttachmentLoader(object));
-		else if (object is AttachmentLoader)
-			json = new SkeletonJson(AttachmentLoader(object));
-		else
-			throw new Error("object must be a TextureAtlas or AttachmentLoader.");
-
-		Bone.yDown = true;
-	}
-
-	/** @param object A String or ByteArray. */
-	public function readSkeletonData (object:*, name:String = null) : SkeletonData {
-		if (object is String) return json.readSkeletonData(String(object), name);
-		if (object is ByteArray) return json.readSkeletonData(object.readUTFBytes(object.length), name);
-		throw new Error("object must be a String or ByteArray.");
-	}
-}
-
-}

+ 4 - 1
spine-starling/spine-starling/src/spine/SkeletonAnimationSprite.as → spine-starling/spine-starling/src/spine/starling/SkeletonAnimationSprite.as

@@ -1,4 +1,7 @@
-package spine {
+package spine.starling {
+	import spine.AnimationState;
+	import spine.AnimationStateData;
+	import spine.SkeletonData;
 
 public class SkeletonAnimationSprite extends SkeletonSprite {
 	public var states:Vector.<AnimationState> = new Vector.<AnimationState>();

+ 1 - 1
spine-starling/spine-starling/src/spine/SkeletonImage.as → spine-starling/spine-starling/src/spine/starling/SkeletonImage.as

@@ -1,4 +1,4 @@
-package spine {
+package spine.starling {
 
 import starling.display.Image;
 import starling.textures.Texture;

+ 10 - 6
spine-starling/spine-starling/src/spine/SkeletonSprite.as → spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as

@@ -1,4 +1,4 @@
-package spine {
+package spine.starling {
 import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;
@@ -9,6 +9,10 @@ import starling.animation.IAnimatable;
 import starling.core.RenderSupport;
 import starling.display.DisplayObject;
 import starling.utils.MatrixUtil;
+import spine.Bone;
+import spine.Skeleton;
+import spine.SkeletonData;
+import spine.Slot;
 
 public class SkeletonSprite extends DisplayObject implements IAnimatable {
 	static private var tempPoint:Point = new Point();
@@ -17,14 +21,14 @@ public class SkeletonSprite extends DisplayObject implements IAnimatable {
 	private var _skeleton:Skeleton;
 
 	public function SkeletonSprite (skeletonData:SkeletonData) {
+		Bone.yDown = true;
+
 		_skeleton = new Skeleton(skeletonData);
 		_skeleton.updateWorldTransform();
-
-		Bone.yDown = true;
 	}
 
-	public function advanceTime (time:Number) : void {
-		_skeleton.update(time);
+	public function advanceTime (delta:Number) : void {
+		_skeleton.update(delta);
 	}
 
 	override public function render (support:RenderSupport, alpha:Number) : void {
@@ -40,7 +44,7 @@ public class SkeletonSprite extends DisplayObject implements IAnimatable {
 				var b:Number = skeleton.b * slot.b;
 				var a:Number = skeleton.a * slot.a;
 
-				var image:SkeletonImage = regionAttachment.texture as SkeletonImage;
+				var image:SkeletonImage = regionAttachment.rendererObject as SkeletonImage;
 				var vertexData:Vector.<Number> = image.vertexData.rawData;
 
 				vertexData[0] = vertices[2];

+ 2 - 2
spine-starling/spine-starling/src/spine/StarlingAtlasAttachmentLoader.as → spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as

@@ -1,4 +1,4 @@
-package spine {
+package spine.starling {
 import spine.Bone;
 import spine.Skin;
 import spine.attachments.Attachment;
@@ -22,7 +22,7 @@ public class StarlingAtlasAttachmentLoader implements AttachmentLoader {
 		if (type == AttachmentType.region) {
 			var regionAttachment:RegionAttachment = new RegionAttachment(name);
 			var texture:Texture = atlas.getTexture(name);
-			regionAttachment.texture = new SkeletonImage(texture);
+			regionAttachment.rendererObject = new SkeletonImage(texture);
 			regionAttachment.regionOffsetX = texture.frame.x;
 			regionAttachment.regionOffsetY = texture.frame.y;
 			regionAttachment.regionWidth = texture.width;