Эх сурвалжийг харах

[corona] Fixed clipping, closes #1522.

badlogic 5 жил өмнө
parent
commit
23b51853ce

+ 4 - 3
spine-corona/spine-corona/spine.lua

@@ -163,7 +163,7 @@ function spine.Skeleton:updateWorldTransform()
 		local indices = nil
 		local indices = nil
 
 
 		if slot.bone.active then
 		if slot.bone.active then
-
+			local isClippingAttachment = false
 			if attachment then
 			if attachment then
 				if attachment.type == spine.AttachmentType.region then
 				if attachment.type == spine.AttachmentType.region then
 					numVertices = 4
 					numVertices = 4
@@ -183,6 +183,7 @@ function spine.Skeleton:updateWorldTransform()
 					blendMode = toCoronaBlendMode(slot.data.blendMode)
 					blendMode = toCoronaBlendMode(slot.data.blendMode)
 				elseif attachment.type == spine.AttachmentType.clipping then
 				elseif attachment.type == spine.AttachmentType.clipping then
 					self.clipper:clipStart(slot, attachment)
 					self.clipper:clipStart(slot, attachment)
+					isClippingAttachment = true
 				end
 				end
 
 
 				if texture and vertices and indices then
 				if texture and vertices and indices then
@@ -222,9 +223,9 @@ function spine.Skeleton:updateWorldTransform()
 					end
 					end
 
 
 					self:batch(vertices, uvs, numVertices, indices, groupVertices, groupUvs, groupIndices)
 					self:batch(vertices, uvs, numVertices, indices, groupVertices, groupUvs, groupIndices)
-				end
 
 
-				self.clipper:clipEnd(slot)
+				end
+				if not isClippingAttachment then self.clipper:clipEnd(slot) end
 			end
 			end
 		end
 		end
 	end
 	end