Ich habe ein neues Spiel gestartet, für das keine Maus erforderlich ist, sodass die Bewegung der Tastatur überlassen bleibt. Ich habe versucht, 8 Richtungen zu integrieren; hoch, links, rechts, hoch rechts und so weiter. Wenn ich jedoch mehr als eine Pfeiltaste drücke, stapelt sich die Bewegungsgeschwindigkeit ( http://gfycat.com/CircularBewitchedBarebirdbat ). Wie könnte ich dem entgegenwirken?
Hier ist ein relevanter Teil meines Codes:
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);
}
}