Menu
CoddyTech

Steuere mit den Tasten

Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 5 von 67.

Input.GetKey(KeyCode.Space) ist in jedem Frame true, solange die Leertaste gedrückt gehalten wird, und andernfalls false. Frage es in Update() ab und bewege das Objekt nur, wenn es Ja sagt – dann steuert der Spieler das Objekt.

Diese Kiste steigt mit lift Einheiten pro Sekunde, solange die Leertaste gedrückt gehalten wird. Time.deltaTime sorgt wie in der letzten Lektion dafür, dass die Geschwindigkeit pro Sekunde gilt:

public float lift = 2f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        transform.position += new Vector3(0, lift * Time.deltaTime, 0);
    }
}

Jede Taste hat einen KeyCode: KeyCode.UpArrow, KeyCode.W, KeyCode.Return und so weiter. Klicke zuerst auf die Spielansicht, damit die Tastenanschläge dort ankommen. Ein Hinweis zu Unity 6: Neue Projekte verwenden das neue Input System, und Input.GetKey verursacht dort einen Fehler, bis Active Input Handling (Project Settings, Player) auf Both gesetzt ist.

challenge icon

Aufgabe

Einfach

Lass den Spieler den Würfel steuern: Solange die rechte Pfeiltaste gedrückt wird, bewegt er sich mit speed Einheiten pro Sekunde nach rechts (entlang +x), und solange die linke Pfeiltaste gedrückt wird, bewegt er sich mit derselben Geschwindigkeit nach links. Wenn keine Taste gedrückt wird, bleibt er stehen.

Drücke auf Play, klicke auf das Spiel und probiere die Pfeiltasten aus. Klicke dann auf Check.

Probier es selbst

using UnityEngine;

public class Steering : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // Rechtspfeil: nach rechts bewegen. Linkspfeil: nach links bewegen.
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen des Scripting in Unity