Kanonenreichweite
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 66 von 71.
An einem Ende eines Schießstands steht eine Kanone, und drei Ziele gleiten in unterschiedlichen Entfernungen seitlich über den Stand. Du neigst den Lauf nach oben und unten, um die jeweilige Entfernung zu erreichen, und timst jeden Schuss so, dass ein Ziel die Schusslinie kreuzt. Ein Ball, der ein Ziel trifft, schaltet es aus und wird verbraucht; alles andere, was mit einem Ziel zusammenstößt, lässt es unbehelligt. Die Ziele sind kinematische Körper, sodass Treffer sie niemals wegstoßen, und die Kanone hat fünf Bälle.
Schreibe zwei Skripte: Cannon am Lauf und Target an jedem Ziel.
Aufgabe
SchwerSchreibe die Kanone: Richte sie aus und feuere dann fünf Kugeln ab.
- Füge in
Update()Input.GetAxisRaw("Vertical") * turnSpeed * Time.deltaTimezuanglehinzu, begrenze den Wert auf 10 bis 60 und setzetransform.rotation = Quaternion.Euler(-angle, 0f, 0f);. - Drücke die Leertaste, solange
balls > 0gilt, erzeugeballPrefabbeitransform.position + transform.forwardund wendeAddForce(transform.forward * power, ForceMode.Impulse)an. - Ziehe 1 von
ballsab und gib"Balls left: " + ballsaus.
Drücke „Spielen“ und feuere. Drücke dann „Prüfen“.
Probier es selbst
using UnityEngine;
public class Cannon : MonoBehaviour
{
[SerializeField] private Rigidbody ballPrefab;
[SerializeField] private float angle = 30f;
[SerializeField] private float turnSpeed = 40f;
[SerializeField] private float power = 30f;
[SerializeField] private int balls = 5;
void Update()
{
// Mit den Pfeiltasten nach oben und unten zielen, mit Space feuern
}
}
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