currentAnima = currentObj.gameObject.GetComponent<Animation> ();
//获取所有动画片段
foreach (AnimationState state in currentAnima) {animArray.Add (state.name);
}
//当前播放的片段
currentAnima.clip = currentAnima.GetClip (animArray [clipIndex]);currentAnima.Play ();
判断当前动画是否播放完成 设置loop
if (animState.normalizedTime >= 1f)
{
}
//刚改镜头位置
currentCamera.fieldOfView -= 1f * Time.deltaTime;
}
//鼠标旋转 动物方向
void Rotate (bool right)
{
rotateY = currentObj.transform.rotation.y;
if (right) {
rotateY += (100 * Time.deltaTime * speed);
} else {
rotateY -= (100 * Time.deltaTime * speed);
}
currentObj.transform.Rotate (0, rotateY, 0);
}
//销毁动画
Destroy(currentObj);
Resources.UnloadUnusedAssets ();
currentObj.transform.RotateAround (currentCamera.transform.position, Vector3.up, 90);
Animator
获取控制器里的动画状态机
static int jump = Animator.StringToHash("Base Layer.jump");
获取当前动画的状态数据
AnimatorStateInfo stateInfo = anim.GetCurrentAnimatorStateInfo (0);
获取是否播放完毕
if (stateInfo.IsName ("Base Layer.jump")) {
if (!anim.IsInTransition (0)) {
anim.SetBool ("jump", false);
}
}
获取按键 除了GetKey 还有
(Input.GetButton ("Jump")
float xMove= Input.GetAxis ("Horizontal");
float yMove = Input.GetAxis ("Vertical");