【发布时间】:2016-07-25 08:56:54
【问题描述】:
我想要做的是自动让角色走到一个特定的位置或者只是走到一个特定的方向。
using UnityEngine;
using System.Collections;
public class Ai : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
var v = Input.GetAxis("Vertical");
if(Mathf.Abs(v) > 0.1f) {
animation["Walk"].speed = v;
animation.CrossFade("Walk");
transform.position.z += v;
}
else animation.CrossFade("Idle");
}
}
speed 和 CrossFade 不存在。
更新我的尝试:
using UnityEngine;
using System.Collections;
public class Ai : MonoBehaviour {
Animation animation;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
var v = Input.GetAxis("Vertical");
if(Mathf.Abs(v) > 0.1f) {
animation["Walk"].speed = v;
animation.CrossFade ("Walk");
transform.position.z += v;
}
else animation.CrossFade("Idle");
}
}
制作Animation的动画全局变量。 现在动画具有属性 speed 和 CrossFade 但现在我收到一个新警告和一个新错误:
警告上线:
Animation animation;
Ai.animation' hides inherited memberUnityEngine.Component.animation'。如果要隐藏,请使用 new 关键字
而且报错就行了:
transform.position.z += v;
无法修改“UnityEngine.Transform.position”的值类型返回值。考虑将值存储在临时变量中
【问题讨论】:
标签: c# unity3d unityscript unity5