diff --git a/spine-lua/Animation.lua b/spine-lua/Animation.lua index 47dfdceae..55993e088 100644 --- a/spine-lua/Animation.lua +++ b/spine-lua/Animation.lua @@ -371,11 +371,11 @@ function Animation.ColorTimeline.new () local g = lastFrameG + (frames[frameIndex + FRAME_G] - lastFrameG) * percent local b = lastFrameB + (frames[frameIndex + FRAME_B] - lastFrameB) * percent local a = lastFrameA + (frames[frameIndex + FRAME_A] - lastFrameA) * percent - --if alpha < 1 then - -- slot:setColor(slot.r + (r - color.r) * alpha, slot.g + (g - color.g) * alpha, slot.b + (b - color.b) * alpha, slot.a + (a - color.a) * alpha) - --else + if alpha < 1 then + slot:setColor(slot.r + (r - slot.r) * alpha, slot.g + (g - slot.g) * alpha, slot.b + (b - slot.b) * alpha, slot.a + (a - slot.a) * alpha) + else slot:setColor(r, g, b, a) - --end + end end return self diff --git a/spine-lua/Skeleton.lua b/spine-lua/Skeleton.lua index 843aea829..b19ad86c9 100644 --- a/spine-lua/Skeleton.lua +++ b/spine-lua/Skeleton.lua @@ -35,7 +35,7 @@ function Skeleton.new (skeletonData) data = skeletonData, bones = {}, slots = {}, - slotsByName = {}, + slotsByName = {}, drawOrder = {} } @@ -74,6 +74,11 @@ function Skeleton.new (skeletonData) return nil end + function self:findSlot (slotName) + if not slotName then error("slotName cannot be nil.", 2) end + return slotsByName[slotName] + end + function self:setSkin (skinName) local newSkin if skinName then diff --git a/spine-lua/SkeletonData.lua b/spine-lua/SkeletonData.lua index 00045cdcb..531f9613e 100644 --- a/spine-lua/SkeletonData.lua +++ b/spine-lua/SkeletonData.lua @@ -28,7 +28,7 @@ function SkeletonData.new () local self = { bones = {}, slots = {}, - slotNameIndices = {}, + slotNameIndices = {}, skins = {}, animations = {} } @@ -57,6 +57,11 @@ function SkeletonData.new () return nil end + function self:findSlotIndex (slotName) + if not slotName then error("slotName cannot be nil.", 2) end + return slotNameIndices[slotName] or -1 + end + function self:findSkin (skinName) if not skinName then error("skinName cannot be nil.", 2) end for i,skin in ipairs(self.skins) do