浏览代码

Add findBoneByName() to Skeleton

Takahiro 7 年之前
父节点
当前提交
027e853b4c
共有 2 个文件被更改,包括 19 次插入19 次删除
  1. 1 19
      src/animation/PropertyBinding.js
  2. 18 0
      src/objects/Skeleton.js

+ 1 - 19
src/animation/PropertyBinding.js

@@ -219,25 +219,7 @@ Object.assign( PropertyBinding, {
 		// search into skeleton bones.
 		// search into skeleton bones.
 		if ( root.skeleton ) {
 		if ( root.skeleton ) {
 
 
-			var searchSkeleton = function ( skeleton ) {
-
-				for ( var i = 0; i < skeleton.bones.length; i ++ ) {
-
-					var bone = skeleton.bones[ i ];
-
-					if ( bone.name === nodeName ) {
-
-						return bone;
-
-					}
-
-				}
-
-				return null;
-
-			};
-
-			var bone = searchSkeleton( root.skeleton );
+			var bone = root.skeleton.findBoneByName( nodeName );
 
 
 			if ( bone ) {
 			if ( bone ) {
 
 

+ 18 - 0
src/objects/Skeleton.js

@@ -152,6 +152,24 @@ Object.assign( Skeleton.prototype, {
 
 
 		return new Skeleton( this.bones, this.boneInverses );
 		return new Skeleton( this.bones, this.boneInverses );
 
 
+	},
+
+	findBoneByName: function ( name ) {
+
+		for ( var i = 0, il = this.bones.length; i < il; i ++ ) {
+
+			var bone = this.bones[ i ];
+
+			if ( bone.name === name ) {
+
+				return bone;
+
+			}
+
+		}
+
+		return null;
+
 	}
 	}
 
 
 } );
 } );