【发布时间】:2015-05-08 17:15:28
【问题描述】:
我打算开发一个简单的游戏,叫做废物收集。在这个游戏中,如果我点击一个废物,角色需要走到某个废物并收集它。开始时角色位于屏幕的中间位置。当我们点击在角色的左侧,需要播放动画左走。另一方面,当我们单击角色的右侧时,需要播放动画。角色动画到点击的位置
public class mousepos : MonoBehaviour {
private Animator anim;
public float speed = 1.5f;
private Vector3 target;
void Start () {
anim = GetComponent<Animator>();
target = transform.position;
}
void Update () {
if (Input.GetMouseButtonDown (0)) {
if (**Input.mousePosition.x <= 500**) { //move skeleton on X axis to the left
target = Camera.main.ScreenToWorldPoint (Input.mousePosition);
target.z = transform.position.z;
transform.localScale = new Vector3(1, 1, 1);
anim.SetInteger ("Direction", 1);
} else if (Input.mousePosition.x >= 500) {
target = Camera.main.ScreenToWorldPoint (Input.mousePosition);
target.z = transform.position.z;
transform.localScale = new Vector3(-1, 1, 1);
anim.SetInteger ("Direction", 1);
}
}
transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
}
}
【问题讨论】:
-
你的意思是你的角色直接跳到点击的地方,在动画中不动?
-
不……我不是说……我想像正常的人类行走一样将我的角色移向光标方向。
-
不清楚你有什么问题。您是否对角色如何到达目标有问题(例如移动速度等),或者您是否在角色移动时启动/停止动画有问题?
-
我需要不同的动画(左动画和右动画)。当我单击场景的左侧时,它应该播放左行走动画。点击场景右侧播放右走动画。如何识别这些点击位置。
-
请尝试用以下术语表达您的问题:(1)您想要实现什么,(2)到目前为止您做了什么,(3)现在发生了什么以及(4)什么是您现在完全感到困惑或不清楚。