마우스가 필요없는 새로운 게임을 시작하여 키보드까지 움직임을 남깁니다. 나는 8 방향을 통합하려고 노력했다; 위, 왼쪽, 오른쪽, 위 오른쪽 등. 그러나 두 개 이상의 화살표 키를 누르면 이동 속도가 쌓입니다 ( http://gfycat.com/CircularBewitchedBarebirdbat ). 이 문제를 어떻게 해결할 수 있습니까?
내 코드의 관련 부분은 다음과 같습니다.
var speed : int = 5;
function Update () {
if (Input.GetKey(KeyCode.UpArrow)) {
transform.Translate(Vector3.forward * speed * Time.deltaTime);
} else if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.RightArrow)) {
transform.Translate(Vector3.forward * speed * Time.deltaTime);
} else if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.LeftArrow)) {
transform.rotation = Quaternion.AngleAxis(315, Vector3.up);
}
if (Input.GetKey(KeyCode.DownArrow)) {
transform.Translate(Vector3.forward * speed * Time.deltaTime);
}
}
3
탄젠트 : 코드의 들여 쓰기가 약간 엉망이되어 처음에는 알지 못했지만 코드의 조건으로 인해 대부분의 코드가 실행되지 않습니다. 마찬가지로 if (UpArrow) else if (UpArrow && RightArrow)는 'else'분기를 실행하지 않습니다.
—
jhocking