我在Unity工作并尝试创建一个动画控制器,通过在按下按钮时播放不同的动画来改变玩家所面对的方向。
我一直收到此错误“ Assets / Maps / Map1 / Entities / Player / PlayerMovement.cs(6,18):警告CS0649:字段PlayerMovement.animator' is never assigned to, and will always have its default value
null'”
此错误不会阻止游戏播放,但动画会保持默认位置。
这是我作为播放器控制器的代码,我在其中更改动画控制器的参数。它告诉我错误在第6行空间18上。
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour {
Animator animator;
public float movementSpeed = 100.0f;
public bool Movement = true;
public int Direction = 0;
// Use this for initialization
void Start () {
animator.GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
if (Movement == true) {
if (Input.GetKey (KeyCode.W)) {
transform.Translate ((Vector2.up) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",0);
}
if (Input.GetKey (KeyCode.A)) {
transform.Translate ((-Vector2.right) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",270);
}
if (Input.GetKey (KeyCode.S)) {
transform.Translate ((-Vector2.up) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",180);
}
if (Input.GetKey (KeyCode.D)) {
transform.Translate ((Vector2.right) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",90);
}
else{
animator.SetInteger("Direction",360);
}
}
}
}
这是一个Imgur链接到屏幕截图的动画师gui团结。我会把它们直接放在这个屏幕上,但我没有权限这样做。
答案 0 :(得分:0)
我相信这是罪魁祸首:
void Start () {
animator.GetComponent<Animator> ();
}
它没有被分配它应该是这样的:
void Start ()
{
//you have to use the variable u declared and assing it to the animator
animator = this.GetComponent<Animator> ();
}
希望能解决它。