瀏覽代碼

[as3] Get rid of regionTextureWidth/Height

badlogic 6 年之前
父節點
當前提交
f1f4ea04eb

二進制
spine-as3/spine-as3-example/lib/spine-as3.swc


+ 1 - 3
spine-as3/spine-as3/src/spine/attachments/AtlasAttachmentLoader.as

@@ -78,9 +78,7 @@ package spine.attachments {
 			attachment.regionWidth = region.width;
 			attachment.regionHeight = region.height;
 			attachment.regionOriginalWidth = region.originalWidth;
-			attachment.regionOriginalHeight = region.originalHeight;
-			attachment.regionTextureWidth = region.page.width;
-			attachment.regionTextureHeight = region.page.height;
+			attachment.regionOriginalHeight = region.originalHeight;			
 			return attachment;
 		}
 

+ 14 - 19
spine-as3/spine-as3/src/spine/attachments/MeshAttachment.as

@@ -51,9 +51,7 @@ package spine.attachments {
 		public var regionWidth : Number; // Unrotated, stripped size.
 		public var regionHeight : Number;
 		public var regionOriginalWidth : Number; // Unrotated, unstripped size.
-		public var regionOriginalHeight : Number;
-		public var regionTextureWidth: Number;
-		public var regionTextureHeight: Number;
+		public var regionOriginalHeight : Number;		
 		// Nonessential.
 		public var edges : Vector.<int>;
 		public var width : Number;
@@ -66,29 +64,26 @@ package spine.attachments {
 		public function updateUVs() : void {			
 			var i : int, n : int = regionUVs.length;
 			var u: Number, v: Number, width: Number, height: Number;
-			var widthO : Number = regionU2 - regionU, heightO : Number = regionV2 - regionV;
-			var uO = regionU, vO = regionV;
+			var textureWidth: Number, textureHeight: Number;
 			if (!uvs || uvs.length != n) uvs = new Vector.<Number>(n, true);
 			if (regionRotate) {
-				u = regionU - (regionOriginalHeight - regionOffsetY - regionHeight) / regionTextureWidth;
-				v = regionV - (regionOriginalWidth - regionOffsetX - regionWidth) / regionTextureHeight;
-				width = regionOriginalHeight / regionTextureWidth;
-				height = regionOriginalWidth / regionTextureHeight;
-				if (u != uO || v != vO || width != widthO || heightO != height) {
-					trace("fah");
-				}
+				textureHeight = regionWidth / (regionV2 - regionV);
+				textureWidth = regionHeight / (regionU2 - regionU);
+				u = regionU - (regionOriginalHeight - regionOffsetY - regionHeight) / textureWidth;
+				v = regionV - (regionOriginalWidth - regionOffsetX - regionWidth) / textureHeight;
+				width = regionOriginalHeight / textureWidth;
+				height = regionOriginalWidth / textureHeight;
 				for (i = 0; i < n; i += 2) {
 					uvs[i] = u + regionUVs[int(i + 1)] * width;
 					uvs[int(i + 1)] = v + height - regionUVs[i] * height;
 				}
 			} else {
-				u = regionU - regionOffsetX / regionTextureWidth;
-				v = regionV - (regionOriginalHeight - regionOffsetY - regionHeight) / regionTextureHeight;
-				width = regionOriginalWidth / regionTextureWidth;
-				height = regionOriginalHeight / regionTextureHeight;				
-				if (u != uO || v != vO || width != widthO || heightO != height) {
-					trace("fah");
-				}
+				textureWidth = regionWidth / (regionU2 - regionU);
+				textureHeight = regionHeight / (regionV2 - regionV);
+				u = regionU - regionOffsetX / textureWidth;
+				v = regionV - (regionOriginalHeight - regionOffsetY - regionHeight) / textureHeight;
+				width = regionOriginalWidth / textureWidth;
+				height = regionOriginalHeight / textureHeight;				
 				for (i = 0; i < n; i += 2) {
 					uvs[i] = u + regionUVs[i] * width;
 					uvs[int(i + 1)] = v + regionUVs[int(i + 1)] * height;

二進制
spine-starling/spine-starling-example/lib/spine-as3.swc


二進制
spine-starling/spine-starling-example/lib/spine-starling.swc


二進制
spine-starling/spine-starling/lib/spine-as3.swc


+ 1 - 3
spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as

@@ -122,9 +122,7 @@ package spine.starling {
 			attachment.regionWidth = texture.width;
 			attachment.regionHeight = texture.height;
 			attachment.regionOriginalWidth = frame ? frame.width : texture.width;
-			attachment.regionOriginalHeight = frame ? frame.height : texture.height;
-			attachment.regionTextureWidth = atlas.texture.width;
-			attachment.regionTextureHeight = atlas.texture.height;
+			attachment.regionOriginalHeight = frame ? frame.height : texture.height;			
 			if (rotated) {
 				var tmp : Number = attachment.regionOriginalWidth;
 				attachment.regionOriginalWidth = attachment.regionOriginalHeight;