mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 17:56:04 +08:00
Fixed draw order.
This commit is contained in:
parent
9f690c4efb
commit
b5b48cc204
@ -322,15 +322,12 @@ function SkeletonJson.new (attachmentLoader)
|
|||||||
local frameIndex = 0
|
local frameIndex = 0
|
||||||
for i,drawOrderMap in ipairs(drawOrderValues) do
|
for i,drawOrderMap in ipairs(drawOrderValues) do
|
||||||
local drawOrder = nil
|
local drawOrder = nil
|
||||||
if drawOrderMap["offsets"] then
|
local offsets = drawOrderMap["offsets"]
|
||||||
|
if offsets then
|
||||||
drawOrder = {}
|
drawOrder = {}
|
||||||
for ii = 1, slotCount do
|
|
||||||
drawOrder[ii] = -1
|
|
||||||
end
|
|
||||||
local offsets = drawOrderMap["offsets"]
|
|
||||||
local unchanged = {}
|
local unchanged = {}
|
||||||
local originalIndex = 0
|
local originalIndex = 1
|
||||||
local unchangedIndex = 0
|
local unchangedIndex = 1
|
||||||
for ii,offsetMap in ipairs(offsets) do
|
for ii,offsetMap in ipairs(offsets) do
|
||||||
local slotIndex = skeletonData:findSlotIndex(offsetMap["slot"])
|
local slotIndex = skeletonData:findSlotIndex(offsetMap["slot"])
|
||||||
if slotIndex == -1 then error("Slot not found: " + offsetMap["slot"]) end
|
if slotIndex == -1 then error("Slot not found: " + offsetMap["slot"]) end
|
||||||
@ -345,16 +342,16 @@ function SkeletonJson.new (attachmentLoader)
|
|||||||
originalIndex = originalIndex + 1
|
originalIndex = originalIndex + 1
|
||||||
end
|
end
|
||||||
-- Collect remaining unchanged items.
|
-- Collect remaining unchanged items.
|
||||||
while originalIndex < slotCount do
|
while originalIndex <= slotCount do
|
||||||
unchanged[unchangedIndex] = originalIndex
|
unchanged[unchangedIndex] = originalIndex
|
||||||
unchangedIndex = unchangedIndex + 1
|
unchangedIndex = unchangedIndex + 1
|
||||||
originalIndex = originalIndex + 1
|
originalIndex = originalIndex + 1
|
||||||
end
|
end
|
||||||
-- Fill in unchanged items.
|
-- Fill in unchanged items.
|
||||||
for ii = slotCount, 1, -1 do
|
for ii = slotCount, 1, -1 do
|
||||||
if drawOrder[ii] == -1 then
|
if not drawOrder[ii] then
|
||||||
drawOrder[ii] = unchanged[unchangedIndex]
|
|
||||||
unchangedIndex = unchangedIndex - 1
|
unchangedIndex = unchangedIndex - 1
|
||||||
|
drawOrder[ii] = unchanged[unchangedIndex]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user