浏览代码

Merge branch '4.0' into 4.1-beta

# Conflicts:
#	spine-ts/package-lock.json
#	spine-ts/package.json
#	spine-ts/spine-canvas/package.json
#	spine-ts/spine-core/package.json
#	spine-ts/spine-player/package.json
#	spine-ts/spine-threejs/package.json
#	spine-ts/spine-webgl/package.json
Mario Zechner 3 年之前
父节点
当前提交
8910544049
共有 2 个文件被更改,包括 9 次插入5 次删除
  1. 7 2
      spine-ts/spine-threejs/src/SkeletonMesh.ts
  2. 2 3
      spine-ts/spine-webgl/example/drag-and-drop.js

+ 7 - 2
spine-ts/spine-threejs/src/SkeletonMesh.ts

@@ -173,7 +173,10 @@ export class SkeletonMesh extends THREE.Object3D {
 		for (let i = 0, n = drawOrder.length; i < n; i++) {
 			let vertexSize = clipper.isClipping() ? 2 : SkeletonMesh.VERTEX_SIZE;
 			let slot = drawOrder[i];
-			if (!slot.bone.active) continue;
+			if (!slot.bone.active) {
+				clipper.clipEndWithSlot(slot);
+				continue;
+			}
 			let attachment = slot.getAttachment();
 			let attachmentColor: Color = null;
 			let texture: ThreeJsTexture = null;
@@ -290,8 +293,10 @@ export class SkeletonMesh extends THREE.Object3D {
 					finalIndicesLength = triangles.length;
 				}
 
-				if (finalVerticesLength == 0 || finalIndicesLength == 0)
+				if (finalVerticesLength == 0 || finalIndicesLength == 0) {
+					clipper.clipEndWithSlot(slot);
 					continue;
+				}
 
 				// Start new batch if this one can't hold vertices/indices
 				if (!batch.canBatch(finalVerticesLength, finalIndicesLength)) {

+ 2 - 3
spine-ts/spine-webgl/example/drag-and-drop.js

@@ -21,7 +21,7 @@ class App {
         // Setup listener for animation selection box
         let animationSelectBox = document.body.querySelector("#animations");
         animationSelectBox.onchange = () => {
-            // this.animationState.setAnimation(0, animationSelectBox.value, true);
+            this.animationState.setAnimation(0, animationSelectBox.value, true);
         }
 
         // Setup listener for the PMA checkbox
@@ -123,8 +123,7 @@ class App {
             option.selected = animation.name == animationName;
             animationSelectBox.appendChild(option);
         }
-
-        // if (animationName) this.animationState.setAnimation(0, animationName, true);
+        this.animationState.setAnimation(0, animationName, true);
 
         // Center the skeleton in the viewport
         this.centerSkeleton();