Menu
CoddyTech

Rückblick: Geschoss-Pool

Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 49 von 64.

Pooling hält deaktivierte Objekte bereit, statt sie zu zerstören. Hier stammen die Geschosse des Panzers aus Unitys ObjectPool und werden nach jedem Schuss zurückgegeben.

challenge icon

Aufgabe

Mittel

Lass den Panzer gepoolte Kugeln abfeuern.

  1. Erstelle in Tanks Awake einen ObjectPool<Bullet>: beim Abrufen aktivieren, beim Freigeben deaktivieren und beim Zerstören vernichten, maxSize: 4.
  2. Mit der Leertaste wird eine Kugel 1 Einheit vor dem Panzer erzeugt und ihr der Pool übergeben.
  3. Bullet fliegt mit speed in +z-Richtung. Nach jedem Schuss gibt sie sich nach life Sekunden selbst frei oder beim Treffen eines Target (rufe Hit() auf).

Drücke „Spielen“ und schieße auf beide Ziele. Drücke dann „Prüfen“.

Probier es selbst

using UnityEngine;
using UnityEngine.Pool;

public class Bullet : MonoBehaviour
{
    public float speed = 15f;
    public float life = 1f;

    // Fliege vorwärts; kehre zum Pool zurück, wenn du ein Target triffst oder nach life Sekunden
}
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 Spielarchitektur in Unity

Übe selbstständig: Unity-Playground