현재 일부 플레이어의 움직임을 연구 중입니다. 내 플레이어의 주요 아이디어는 대각선이 아닌 가로 및 세로 만 움직입니다. 이 문제에 대한 합리적인 해결책을 찾지 못했습니다. 나는 지금 rigidbody 또는 character.controller를 사용하고 싶지 않다. 다른 목표는 여러 방향 키를 누를 때 플레이어가 마지막으로 누른 방향으로 직접 이동하기를 원합니다. 여기 내 코드는 다음과 같습니다.대각선 이동없이 마지막으로 누른 방향으로 이동
using UnityEngine;
using System.Collections;
public class controller : MonoBehaviour {
public int movementspeed;
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
if (Input.GetKey (KeyCode.A)) {
//ratation
transform.localEulerAngles = new Vector3(0,270,0);
//move
transform.Translate (transform.right * movementspeed * Time.deltaTime);
}
else if(Input.GetKey (KeyCode.D)) {
//ratation
transform.localEulerAngles = new Vector3(0,90,0);
//move
transform.Translate (transform.right *(-1)* movementspeed * Time.deltaTime);
}
else if(Input.GetKey (KeyCode.S)) {
//ratation
transform.localEulerAngles = new Vector3(0,180,0);
//move
transform.Translate (transform.forward * (-1) * movementspeed * Time.deltaTime);
}
else if (Input.GetKey (KeyCode.W)) {
//ratation
transform.localEulerAngles = new Vector3(0,0,0);
//move
transform.Translate (transform.forward * movementspeed * Time.deltaTime);
}
else if (Input.GetKey (KeyCode.A)) {
//ratation
transform.localEulerAngles = new Vector3(0,270,0);
//move
transform.Translate (transform.right * movementspeed * Time.deltaTime);
}
}
}
답을 알려 주셔서 감사합니다. 일부 작업을 마친 후 운동 스크립트를 만드는 것이 좋지 않습니다. 나는 작품을 바꿨다. 지금 나는 캐릭터 콘트롤러를 사용하고있다. – umuur
문제 없습니다. 어느 시점에서 나 자신의 캐릭터 컨트롤러를 만들 것을 권장 할 수 있습니다. 그것은 연습에 좋으며 원하는대로 얻을 수 있습니다. – Martin