我要開發一個簡單的遊戲,稱爲垃圾收集。如果我點擊一個垃圾,角色需要走到某些垃圾並收集它。開始時,角色位於屏幕的中間位置。當我們點擊角色的左側,左邊的動畫需要播放。另一方面,當我們點擊角色的右側時,需要播放動畫的右邊走路。在此應用中如何獲取點擊位置,以及該角色動畫到那個被點擊的位置如何將2D角色(帶動畫)移動到C#中的鼠標點擊位置?
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);
}
}
你的意思是你的性格直接跳到點擊的地方,在動畫不動? – Axarydax
不..我不是那個意思......我想把我的角色像正常的人類走路那樣移動到光標方向。 –
目前還不清楚你有什麼問題。角色如何移動到目標上(如移動速度等),或者在角色移動時開始/停止動畫有問題嗎? –