Various fixes.

This commit is contained in:
NathanSweet 2014-05-22 15:20:11 +02:00
parent 9a7673c68a
commit f71fb43552
4 changed files with 47 additions and 47 deletions

View File

@ -176,27 +176,27 @@ public class SkeletonJson {
var color:String, vertices:Vector.<Number>;
switch (type) {
case AttachmentType.region:
var regionAttachment:RegionAttachment = attachmentLoader.newRegionAttachment(skin, name, path);
if (!regionAttachment) return null;
regionAttachment.path = path;
regionAttachment.x = (map["x"] || 0) * scale;
regionAttachment.y = (map["y"] || 0) * scale;
regionAttachment.scaleX = map.hasOwnProperty("scaleX") ? map["scaleX"] : 1;
regionAttachment.scaleY = map.hasOwnProperty("scaleY") ? map["scaleY"] : 1;
regionAttachment.rotation = map["rotation"] || 0;
regionAttachment.width = (map["width"] || 0) * scale;
regionAttachment.height = (map["height"] || 0) * scale;
var region:RegionAttachment = attachmentLoader.newRegionAttachment(skin, name, path);
if (!region) return null;
region.path = path;
region.x = (map["x"] || 0) * scale;
region.y = (map["y"] || 0) * scale;
region.scaleX = map.hasOwnProperty("scaleX") ? map["scaleX"] : 1;
region.scaleY = map.hasOwnProperty("scaleY") ? map["scaleY"] : 1;
region.rotation = map["rotation"] || 0;
region.width = (map["width"] || 0) * scale;
region.height = (map["height"] || 0) * scale;
color = map["color"];
if (color) {
regionAttachment.r = toColor(color, 0);
regionAttachment.g = toColor(color, 1);
regionAttachment.b = toColor(color, 2);
regionAttachment.a = toColor(color, 3);
region.r = toColor(color, 0);
region.g = toColor(color, 1);
region.b = toColor(color, 2);
region.a = toColor(color, 3);
}
regionAttachment.updateOffset();
return regionAttachment;
region.updateOffset();
return region;
case AttachmentType.mesh:
var mesh:MeshAttachment = attachmentLoader.newMeshAttachment(skin, name, path);
@ -205,7 +205,7 @@ public class SkeletonJson {
mesh.vertices = getFloatArray(map, "vertices", scale);
mesh.triangles = getIntArray(map, "triangles");
mesh.regionUVs = getFloatArray(map, "uvs", 1);
mesh.UpdateUVs();
mesh.updateUVs();
color = map["color"];
if (color) {
@ -216,15 +216,15 @@ public class SkeletonJson {
}
mesh.hullLength = (map["hull"] || 0) * 2;
if (map["edges"]) mesh.Edges = getIntArray(map, "edges");
if (map["edges"]) mesh.edges = getIntArray(map, "edges");
mesh.width = (map["width"] || 0) * scale;
mesh.height = (map["height"] || 0) * scale;
return mesh;
case AttachmentType.skinnedmesh:
var skinnedMesh:SkinnedMeshAttachment = attachmentLoader.newSkinnedMeshAttachment(skin, name, path);
if (!skinnedMesh) return null;
skinnedMesh.Path = path;
skinnedMesh.path = path;
var uvs:Vector.<Number> = getFloatArray(map, "uvs", 1);
vertices = getFloatArray(map, "vertices", 1);
var weights:Vector.<Number> = new Vector.<Number>();
@ -255,7 +255,7 @@ public class SkeletonJson {
}
skinnedMesh.hullLength = (map["hull"] || 0) * 2;
if (map["edges"]) skinnedMesh.Edges = getIntArray(map, "edges");
if (map["edges"]) skinnedMesh.edges = getIntArray(map, "edges");
skinnedMesh.width = (map["width"] || 0) * scale;
skinnedMesh.height = (map["height"] || 0) * scale;
return skinnedMesh;
@ -382,8 +382,8 @@ public class SkeletonJson {
if (!attachment) throw new Error("FFD attachment not found: " + meshName);
ffdTimeline.slotIndex = slotIndex;
ffdTimeline.attachment = attachment;
var vertexCount:int ;
var vertexCount:int;
if (attachment is MeshAttachment)
vertexCount = (attachment as MeshAttachment).vertices.length;
else
@ -501,7 +501,7 @@ public class SkeletonJson {
static private function getFloatArray (map:Object, name:String, scale:Number) : Vector.<Number> {
var list:Array = map[name];
var values:Vector.<Number> = new Vector.<Number>(list.Count, true);
var values:Vector.<Number> = new Vector.<Number>(list.length, true);
var i:int = 0, n:int = list.length;
if (scale == 1) {
for (; i < n; i++)
@ -515,7 +515,7 @@ public class SkeletonJson {
static private function getIntArray (map:Object, name:String) : Vector.<int> {
var list:Array = map[name];
var values:Vector.<int> = new Vector.<int>(list.Count, true);
var values:Vector.<int> = new Vector.<int>(list.length, true);
for (var i:int = 0, n:int = list.length; i < n; i++)
values[i] = int(list[i]);
return values;

View File

@ -74,7 +74,7 @@ public class FfdTimeline extends CurveTimeline {
var i:int;
if (time >= frames[frames.length - 1]) { // Time is after last frame.
var lastVertices:Vector.<Number> = frameVertices[frames.length - 1];
var lastVertices:Vector.<Number> = frameVertices[int(frames.length - 1)];
if (alpha < 1) {
for (i = 0; i < vertexCount; i++)
vertices[i] += (lastVertices[i] - vertices[i]) * alpha;
@ -88,10 +88,10 @@ public class FfdTimeline extends CurveTimeline {
// Interpolate between the previous frame and the current frame.
var frameIndex:int = Animation.binarySearch(frames, time, 1);
var frameTime:Number = frames[frameIndex];
var percent:Number = 1 - (time - frameTime) / (frames[frameIndex - 1] - frameTime);
var percent:Number = 1 - (time - frameTime) / (frames[int(frameIndex - 1)] - frameTime);
percent = getCurvePercent(frameIndex - 1, percent < 0 ? 0 : (percent > 1 ? 1 : percent));
var prevVertices:Vector.<Number> = frameVertices[frameIndex - 1];
var prevVertices:Vector.<Number> = frameVertices[int(frameIndex - 1)];
var nextVertices:Vector.<Number> = frameVertices[frameIndex];
var prev:Number;

View File

@ -66,19 +66,19 @@ public dynamic class MeshAttachment extends Attachment {
super(name);
}
public function UpdateUVs () : void {
public function updateUVs () : void {
var width:Number = regionU2 - regionU, height:Number = regionV2 - regionV;
if (!uvs || uvs.length != regionUVs.length) uvs = new Vector.<Number>(regionUVs.length, true);
var i:int, n:int = uvs.length;
if (!uvs || uvs.length != n) uvs = new Vector.<Number>(n, true);
if (regionRotate) {
for (i = 0; i < n; i += 2) {
uvs[i] = regionU + regionUVs[i + 1] * width;
uvs[i + 1] = regionV + height - regionUVs[i] * height;
uvs[i] = regionU + regionUVs[int(i + 1)] * width;
uvs[int(i + 1)] = regionV + height - regionUVs[i] * height;
}
} else {
for (i = 0; i < n; i += 2) {
uvs[i] = regionU + regionUVs[i] * width;
uvs[i + 1] = regionV + regionUVs[i + 1] * height;
uvs[int(i + 1)] = regionV + regionUVs[int(i + 1)] * height;
}
}
}
@ -94,11 +94,11 @@ public dynamic class MeshAttachment extends Attachment {
var vertices:Vector.<Number> = this.vertices;
var verticesCount:int = vertices.length;
if (slot.attachmentVertices.length == verticesCount) vertices = slot.attachmentVertices;
for (var i:int = 0; i < verticesCount; i += 2) {
for (var i:int = 0, ii:int = 0; i < verticesCount; i += 2, ii += 2) {
var vx:Number = vertices[i];
var vy:Number = vertices[i + 1];
var vy:Number = vertices[ii];
worldVertices[i] = vx * m00 + vy * m01 + x;
worldVertices[i + 1] = vx * m10 + vy * m11 + y;
worldVertices[ii] = vx * m10 + vy * m11 + y;
}
}
}

View File

@ -67,19 +67,19 @@ public dynamic class SkinnedMeshAttachment extends Attachment {
super(name);
}
public function UpdateUVs () : void {
public function updateUVs () : void {
var width:Number = regionU2 - regionU, height:Number = regionV2 - regionV;
if (!uvs || uvs.length != regionUVs.length) uvs = new Vector.<Number>(regionUVs.length, true);
var i:int, n:int = uvs.length;
if (!uvs || uvs.length != n) uvs = new Vector.<Number>(n, true);
if (regionRotate) {
for (i = 0; i < n; i += 2) {
uvs[i] = regionU + regionUVs[i + 1] * width;
uvs[i + 1] = regionV + height - regionUVs[i] * height;
uvs[i] = regionU + regionUVs[int(i + 1)] * width;
uvs[int(i + 1)] = regionV + height - regionUVs[i] * height;
}
} else {
for (i = 0; i < n; i += 2) {
uvs[i] = regionU + regionUVs[i] * width;
uvs[i + 1] = regionV + regionUVs[i + 1] * height;
uvs[int(i + 1)] = regionV + regionUVs[int(i + 1)] * height;
}
}
}
@ -99,13 +99,13 @@ public dynamic class SkinnedMeshAttachment extends Attachment {
for (; v < nn; v++, b += 3) {
bone = skeletonBones[bones[v]];
vx = weights[b];
vy = weights[b + 1];
weight = weights[b + 2];
vy = weights[int(b + 1)];
weight = weights[int(b + 2)];
wx += (vx * bone.m00 + vy * bone.m01 + bone.worldX) * weight;
wy += (vx * bone.m10 + vy * bone.m11 + bone.worldY) * weight;
}
worldVertices[w] = wx + x;
worldVertices[w + 1] = wy + y;
worldVertices[int(w + 1)] = wy + y;
}
} else {
var ffd:Vector.<Number> = slot.attachmentVertices;
@ -116,13 +116,13 @@ public dynamic class SkinnedMeshAttachment extends Attachment {
for (; v < nn; v++, b += 3, f += 2) {
bone = skeletonBones[bones[v]];
vx = weights[b] + ffd[f];
vy = weights[b + 1] + ffd[f + 1];
weight = weights[b + 2];
vy = weights[int(b + 1)] + ffd[int(f + 1)];
weight = weights[int(b + 2)];
wx += (vx * bone.m00 + vy * bone.m01 + bone.worldX) * weight;
wy += (vx * bone.m10 + vy * bone.m11 + bone.worldY) * weight;
}
worldVertices[w] = wx + x;
worldVertices[w + 1] = wy + y;
worldVertices[int(w + 1)] = wy + y;
}
}
}