Menu
CoddyTech

Ringkasan: Turret Modular

Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 5 dari 50.

challenge icon

Tantangan

Mudah

Rakit dua turret di area uji dari bagian-bagian yang tersedia. TurretControl.cs sudah memutar setiap turret dengan tombol panah kiri dan kanan, dan Shell.cs menerbangkan peluru ke depan. Scene memberi Turret1 Cannon dan Ammo dengan 4 peluru, serta Turret2 TwinCannon dan Ammo dengan 3 peluru. Tulis bagian-bagian berikut:

  • Ammo: memiliki int publik shells dan method publik bool Take(). Jika masih ada peluru, method ini menggunakan satu peluru dan mengembalikan true. Jika tidak ada peluru, method ini mencatat nama object dan is empty, seperti Turret2 is empty, lalu mengembalikan false.
  • Weapon: sebuah komponen abstrak yang selalu dilengkapi Ammo, dengan shellPrefab publik (sebuah GameObject), float publik cooldown (Inspector mengatur nilainya menjadi 1), dan method publik Pull(). Tarikan selama cooldown tidak melakukan apa pun dan tidak menggunakan peluru. Jika tidak, apabila Take() memberikan peluru, cooldown dimulai dan Fire() dijalankan. Setiap senjata menulis method abstrak ini.
  • Cannon menembakkan satu peluru dari 1 unit di depan turret. TwinCannon menembakkan dua peluru dengan menggunakan satu peluru amunisi, dari posisi 0.4 ke kiri dan 0.4 ke kanan dari titik tersebut. Peluru dimulai dari transform.position + transform.rotation * offset, dengan arah yang sama seperti turret (transform.rotation), dengan offset sebagai posisi yang dilihat dari turret, seperti new Vector3(0f, 0f, 1f).
  • Di TurretControl, Space menarik pelatuk Weapon apa pun yang dimiliki turret.

Tekan Play, putar dan tembak sampai kedua turret kehabisan peluru, lalu tekan Check.

Coba sendiri

using UnityEngine;

// Hal yang dimiliki bersama oleh setiap senjata turret.
public class Weapon : MonoBehaviour
{
}

Semua pelajaran di Arsitektur Game di Unity