[libgdx] Ignore clipping attachments with too few vertices.

Needed for editor, check not necessary for other runtimes.
This commit is contained in:
NathanSweet 2017-06-19 14:04:19 +02:00
parent 58a5c8c2f0
commit c5907b6714
2 changed files with 4 additions and 5 deletions

View File

@ -305,10 +305,8 @@ public class SkeletonRenderer {
float oldScaleY = rootBone.getScaleY(); float oldScaleY = rootBone.getScaleY();
float oldRotation = rootBone.getRotation(); float oldRotation = rootBone.getRotation();
attachmentSkeleton.setPosition(bone.getWorldX(), bone.getWorldY()); attachmentSkeleton.setPosition(bone.getWorldX(), bone.getWorldY());
// rootBone.setScaleX(1 + bone.getWorldScaleX() - // rootBone.setScaleX(1 + bone.getWorldScaleX() - oldScaleX);
// oldScaleX); // rootBone.setScaleY(1 + bone.getWorldScaleY() - oldScaleY);
// rootBone.setScaleY(1 + bone.getWorldScaleY() -
// oldScaleY);
// Also set shear. // Also set shear.
rootBone.setRotation(oldRotation + bone.getWorldRotationX()); rootBone.setRotation(oldRotation + bone.getWorldRotationX());
attachmentSkeleton.updateWorldTransform(); attachmentSkeleton.updateWorldTransform();

View File

@ -49,9 +49,10 @@ public class SkeletonClipping {
public int clipStart (Slot slot, ClippingAttachment clip) { public int clipStart (Slot slot, ClippingAttachment clip) {
if (clipAttachment != null) return 0; if (clipAttachment != null) return 0;
int n = clip.getWorldVerticesLength();
if (n < 6) return 0;
clipAttachment = clip; clipAttachment = clip;
int n = clip.getWorldVerticesLength();
float[] vertices = clippingPolygon.setSize(n); float[] vertices = clippingPolygon.setSize(n);
clip.computeWorldVertices(slot, 0, n, vertices, 0, 2); clip.computeWorldVertices(slot, 0, n, vertices, 0, 2);
makeClockwise(clippingPolygon); makeClockwise(clippingPolygon);