Merge pull request #53 from moitias/master

Lua support for inheriting scale and rotation
This commit is contained in:
Nathan Sweet 2013-05-28 14:25:16 -07:00
commit e64613e915
2 changed files with 16 additions and 3 deletions

View File

@ -38,9 +38,18 @@ function Bone.new (data, parent)
if parent then
self.worldX = self.x * parent.m00 + self.y * parent.m01 + parent.worldX
self.worldY = self.x * parent.m10 + self.y * parent.m11 + parent.worldY
self.worldScaleX = parent.worldScaleX * self.scaleX
self.worldScaleY = parent.worldScaleY * self.scaleY
self.worldRotation = parent.worldRotation + self.rotation
if (self.data.inheritScale) then
self.worldScaleX = parent.worldScaleX * self.scaleX
self.worldScaleY = parent.worldScaleY * self.scaleY
else
self.worldScaleX = self.scaleX
self.worldScaleY = self.scaleY
end
if (self.data.inheritRotation) then
self.worldRotation = parent.worldRotation + self.rotation
else
self.worldRotation = self.rotation
end
else
if flipX then
self.worldX = -self.x

View File

@ -75,6 +75,10 @@ function SkeletonJson.new (attachmentLoader)
boneData.rotation = (boneMap["rotation"] or 0)
boneData.scaleX = (boneMap["scaleX"] or 1)
boneData.scaleY = (boneMap["scaleY"] or 1)
-- typical 'value or default' will not work here, as in practice the possible values are 'false' or nil,
-- both of which evaluate to false and the default value is true
if boneMap["inheritScale"] == false then boneData.inheritScale = false else boneData.inheritScale = true end
if boneMap["inheritRotation"] == false then boneData.inheritRotation = false else boneData.inheritRotation = true end
table.insert(skeletonData.bones, boneData)
end