统一2D玩家运动参数不存在

时间:2015-01-19 03:19:26

标签: c# unity3d

我现在设法做了一个自上而下的射手,现在我已经过了动画。我跟随了像pixelnest.io的一些教程,但是我很难得到一个错误说"参数' moveRight'不存在。团结的动画对我来说是全新的,并且一直试图尽可能地阅读。任何修复动画的建议,以便在我向右移动时播放?下面是一些图片和我的代码。

enter image description here

enter image description here

using UnityEngine;

使用System.Collections;

public class playerMove:MonoBehaviour {

public float maxSpeed = 5f;
Animator animator;
bool isRight;

void Awake(){
    animator = GetComponent<Animator>();
}

void Update(){
    Vector3 posMove = transform.position;
    Vector3 velocityH = new Vector3 (Input.GetAxis ("Horizontal") * maxSpeed * Time.deltaTime, 0, 0);
    //this is just test a before i add it to the right movement
    animator.SetBool ("moveRight", isRight);


    Vector3 velocityV = new Vector3 (0, Input.GetAxis ("Vertical") * maxSpeed * Time.deltaTime, 0);
    posMove += velocityH + velocityV;
    transform.position = posMove;
}

}

1 个答案:

答案 0 :(得分:1)

这是因为你没有一个名为&#34; moveRight&#34;的布尔值。在你的动画师。
看看你发布的第一个截图。在左下角,您已声明了一个名为&#34; isRight&#34;的布尔值。

使用Animator.SetBool(yourBool, boolValue)时,您需要传递的第一个参数是动画师中声明的布尔名称(在这种情况下,它&#34; isRight&#34;)。

更改脚本中的以下代码行

更改此行

animator.SetBool ("moveRight", isRight);

阅读

animator.SetBool ("isRight", isRight);