Menu
CoddyTech

Die Straße überqueren

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

Ein Hopper wartet am Rand einer stark befahrenen Straße. Autos kommen von links auf drei Fahrspuren und fahren hinüber. Der Spieler hüpft mit den Pfeiltasten nach oben und unten jeweils eine Fahrspur vor oder zurück und muss jeden Sprung so timen, dass er die andere Seite erreicht. Ein Auto, das den Hopper berührt, schickt ihn an seinen Startpunkt zurück.

Schreibe das ganze Spiel in ein Skript, Crossing, auf dem Hopper.

challenge icon

Aufgabe

Schwer

Schreibe das Skript Crossing auf den Hopper, der bei z = -4 startet, unterhalb einer Straße mit drei Fahrspuren. Lege im Inspector carPrefab (das Car-Prefab), lanes (die z-Positionen der Fahrspuren: -2, 0 und 2), spawnEvery (1) und carSpeed (5) fest.

  • Mit jedem Druck auf die Pfeiltaste nach oben springt der Hopper 2 Einheiten nach vorne (+z). Mit jedem Druck auf die Pfeiltaste nach unten springt er 2 Einheiten zurück, aber niemals hinter seine Startposition.
  • Alle spawnEvery Sekunden erscheint ein Car bei x = -9, y = 0.5 auf einer zufällig gewählten Fahrspur aus lanes. Cars fahren mit carSpeed Einheiten pro Sekunde entlang +x. Ein Car, dessen x-Wert größer als 9 ist, wird zerstört.
  • Ein Car trifft den Hopper, wenn ihre x-Positionen weniger als 1.5 Einheiten und ihre z-Positionen weniger als 1 Einheit auseinanderliegen. Bei einem Treffer wird Hit! protokolliert und der Hopper an seine Startposition zurückgesetzt.
  • Wenn der Hopper z = 4 erreicht, die gegenüberliegende Seite, protokolliere You made it! und schalte das Skript aus.

Drücke Play, überquere die Straße und klicke dann auf Check.

Probier es selbst

using System.Collections.Generic;
using UnityEngine;

public class Crossing : MonoBehaviour
{
    [SerializeField] private GameObject carPrefab;
    [SerializeField] private float[] lanes;
    [SerializeField] private float spawnEvery = 1f;
    [SerializeField] private float carSpeed = 5f;

    void Start()
    {
    }

    void Update()
    {
    }
}
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