Bewegliche Ziele
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 67 von 71.
Aufgabe
SchwerSchreibe das Skript für die Ziele: Sie bewegen sich über die gesamte Strecke, und ein Ball wirft sie um.
- Behalte in
Start()startX = rb.position.xbei. Bewege dich inFixedUpdate()mitrb.MovePositionentlang der x-Achse mitspeedund kehre die Richtungdirection(1 oder -1) um, sobald der Abstand zustartXrangeerreicht. - Protokolliere in
OnCollisionEnter, wenncollision.gameObject.CompareTag("Ball")gilt,name + " hit!"und zerstöre den Ball und das Ziel.
Drücke „Spielen“ und wirf alle drei um. Drücke dann „Prüfen“.
Probier es selbst
using UnityEngine;
public class Target : MonoBehaviour
{
[SerializeField] private float speed = 2f;
[SerializeField] private float range = 3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
// von einer Seite zur anderen gleiten; ein Ball, der das Ziel trifft, wirft es um
}
Alle Lektionen in Physik und Gameplay
1Rigidbody
Schwerkraft und MasseMit AddForce schiebenMit einem Impuls springenFixedUpdate für PhysikGeschwindigkeitKinematische KörperRückblick: Startrampe4Coroutinen
AufrufenWiederholt aufrufen, Aufruf abbrechenDeine erste CoroutineSchleifen in CoroutinenCoroutinen beendenRückblick: Countdown10Projekt: Arena-Flucht
Die ArenaJäger2Kollisionen
OnCollisionEnterWas habe ich getroffen?Beim Aufprall zerbrechenAuf dem Boden stehenAbprallen und ReibungCollider-FormenRückblick: Zerstörbare Wand5Projekt: Münzrausch
Der rollende BallMünzen zum Einsammeln11Abschließende Herausforderungen
KanonenreichweiteBewegliche ZieleMurmelgolfIns LochEscape RoomDie TürÜbe selbstständig: Unity-Playground