Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Unity
Gamedevelopment

Bangun Arkanoid Dengan Persatuan: Audio, Level Baru, dan Penempatan

Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Build Arkanoid With Unity.
Build Arkanoid With Unity: Block Mechanics, Prefabs, and Level Design

Indonesian (Bahasa Indonesia) translation by Ridho Aulia (you can also view the original English article)

Final product image
What You'll Be Creating

Dalam seri tutorial ini, kita akan menunjukkan cara membuat ulang game klasik Arkanoid (atau Breakout) di Unity, menggunakan alat 2D asli Unity. Di setiap pos, kita akan fokus pada bagian tertentu dari permainan; dalam posting ini, kita akan menambahkan suara dan musik, membuat level baru, dan menyebarkan game ke berbagai perangkat dan platform.

Tempat Kita Berhenti

Dalam tutorial sebelumnya Anda mengatur proyek, mengkodekan perilaku objek utama, dan menerapkan score dan live system. Jika Anda belum menyelesaikan tutorial sebelumnya, kami sangat menyarankan Anda melakukannya sebelum melanjutkan.

Pratinjau Terakhir

Lihatlah demo ini untuk melihat apa yang kami tuju di seluruh seri:

Suara dan musik

Di posting pertama dalam seri ini, Anda mengimpor beberapa file suara dan musik. Sekarang saatnya untuk menggunakannya. Di folder Suara, ada tiga file:

  • hit.wav: untuk digunakan pada setiap tabrakan bola.
  • los.wav: untuk digunakan saat pemain kehilangan nyawa.
  • point.wav: untuk digunakan maka pemain mendapat skor.

Kita perlu memodifikasi skrip Player dan Ball untuk memainkan efek ini. Mari kita mulai dengan objek Ball.

Awalnya, kita perlu menambahkan komponen audio ke objek game. Pilih bola dan tambahkan Audio Scoure (Hierarchy > Inspector> Add Component). Perhatikan bahwa Anda harus menghapus centang opsi Play On Awake, jika dicentang; jika tidak, efek suara akan diputar secara otomatis saat adegan diluncurkan.

Anda memiliki komponen audio; sekarang Anda harus memodifikasi skrip bola untuk berinteraksi dengan komponen itu sendiri. Buat variabel baru untuk file suara. Karena Anda ingin mengakses suara di editor, variabelnya harus public:

Kita akan membuat bola menghasilkan suara setiap kali bertabrakan dengan sesuatu saat aktif. Untuk melakukan ini, kita menggunakan metode OnCollisionEnter2D, periksa apakah bola aktif, dan putar klip jika:

Perhatikan bahwa Anda perlu memeriksa apakah bola aktif sebelum memainkan suara — jika tidak, suara akan terus-menerus mulai diputar ketika bola tidak aktif.

Sekarang, pindah ke editor dan periksa apakah Anda memiliki parameter baru, Hit Sound, di skrip bola:

Tarik file hit.wav dari tab Project dan letakkan di parameter Hit Sound dari skrip. Anda harus melihat sesuatu seperti ini:

Tekan Play, dan periksa bahwa Anda sekarang mendengar suara yang benar setiap kali bola memantulkan sesuatu.

Sekarang mari kita masukkan dua suara yang tersisa ke dalam game. Masukkan Audio Source lain, tapi kali ini ke objek pemain. Sekali lagi, hapus centang opsi Play On Awake.

Sekarang, buka skrip pemain dan buat dua variabel tambahan. Variabel pertama adalah untuk suara yang diputar ketika pemain mencetak beberapa poin, dan yang kedua adalah untuk suara yang dimainkan ketika pemain kehilangan nyawa. Keduanya harus dinyatakan sebagai publik.

Karena Anda sekarang memiliki objek, mari kita memodifikasi metode addPointsmet untuk memutar suara setiap kali dipanggil. Seperti sebelumnya, Anda harus memanggil metode PlayOneShot dari objek audio:

Sekarang lakukan hal yang sama dalam metode TakeLife:

Simpan skrip dan pindah ke editor sekali lagi. Tarik dua file suara yang tersisa ke setiap suara pemain baru (point and life). Anda harus memiliki sesuatu seperti gambar berikut

Sekarang, Play game dan verifikasi bahwa tiga suara dimainkan sesuai yang diharapkan.

Latarbelakang musik

Terlepas dari efek suara, sensasi keseluruhan saat bermain game cukup kosong. Mari kita modifikasi dengan menambahkan musik latar yang berbeda untuk setiap level.

Di tab Hierarchy, pilih objek Background dan tambahkan komponen sumber audio:

Sekarang, tarik Jaunty Gumption.mp3 dari tab Project dan letakkan di parameter Audio Clip dari komponen Audio Source. Kali ini, Anda harus membiarkan parameter Play On Awake dicentang, karena kita ingin musik mulai diputar di awal level kita. Aktifkan opsi Loop juga; ini akan membuat musik diputar pada loop tak terbatas selama level dimainkan.

Ke permulaan dan tekan Play! Game Anda sekarang termasuk suara dan musik.

Level

Untuk menyelesaikan permainan, ada dua hal yang akan kita tangani:

  • Ketika pemain menghancurkan semua blok, mereka harus pindah ke level berikutnya.
  • Ketika pemain kehabisan nyawa, permainan harus dimulai kembali.

Mari kita mulai dengan membuat level kedua untuk permainan. Alih-alih membuat level dari awal, kita bisa menduplikasi level pertama dan memodifikasi objek level baru ini.

Untuk melakukan itu, Anda hanya perlu menyimpan adegan Anda sebagai yang baru. Klik File> Save Scene as..., beri nama Level2, dan letakkan di folder Levels.

Untuk membuat level ini terlihat berbeda dari yang pertama, idealnya, kita akan mengubah posisi semua blok. Jangan ragu untuk melakukan ini sendiri, tetapi, untuk tujuan tutorial ini, kita hanya akan mengubah gambar latar dan musik level.

Pilih Background dari Hierarchy dan pindah ke Inspector. Tarik file Background2 dari folder Sprites \ Backgrounds ke komponen Sprite dari objek permainan Background:

Untuk mengubah latar belakng musik, Anda hanya perlu menarik file musik yang diinginkan ke dalam parameter Audio clip. Untuk Level 2, gunakan file Monkeys Spinning Monkeys.mp3.

Jika Anda menekan tombol Play Anda dapat menguji level baru ini. Seperti yang Anda lihat, ia berperilaku dengan cara yang sama seperti yang pertama, tetapi dengan latar belakang yang berbeda dan musik yang berbeda. Karena level kedua sudah siap, sekarang saatnya untuk menangani dua situasi yang diidentifikasi sebelumnya.

Dalam paddle scrip pemain, buat metode baru yang disebut WinLose. Di sini, kita akan memeriksa kapan pemain kehilangan semua nyawanya, dan bereaksi sesuai: jika playerLives mencapai 0, kita cukup memanggil metode Application.LoadLevel dan memuat ulang level pertama.

Selanjutnya, kita akan menangani kasus di mana semua blok dihancurkan, jadi kita ingin pindah ke level berikutnya. Untuk menentukan jumlah blok yang tersisa, kita dapat menggunakan metode FindGameObjectsWithTag lagi, kali ini mencari objek di Block tagged level saat ini. Jika array yang dihasilkan memiliki panjang 0, maka kita tahu saatnya untuk memuat level berikutnya.

Karena tutorial ini hanya memiliki dua level, maka jika pemain memenangkan level kedua, kita hanya akan menutup game (dengan memanggil Application.Quit).

Cuplikan lengkap untuk metode WinLose adalah:

Kita akan memanggil metode WinLose dalam metode Update skrip pemain — cukup tambahkan di akhir metode. Untuk kesederhanaan, metode Update lengkap adalah:

Kembali ke editor. Agar metode WinLose berfungsi dengan benar, Anda perlu memberi tag pada blok di dalam permainan. Di tab Project, buka folder Prefabs dan pilih satu blok. Semua blok saat ini tidak ditandai, dan tidak ada tag Block, jadi kita harus membuatnya. Klik tombol Tag dan pilih opsi Add Tag. Tambahkan tag baru yang disebut Block:

Game sekarang siap untuk diuji. Klik Play dan coba!

Membangun dan Menyebarkan Proyek

Membangun dan menggunakan proyek biasanya merupakan langkah terakhir dalam pengembangan proyek. Di bagian ini, Anda akan belajar cara membuat build final dan konfigurasi yang diperlukan agar bisa berjalan di lingkungan multi-platform.

Pertama, Anda perlu menambahkan semua adegan ke bangunan yang unik. Klik File > Build Settings. Jendela baru akan muncul; area Scenes In Build mungkin akan kosong, seperti:

Jika itu masalahnya, Anda perlu menambahkan adegan yang kita buat sebelumnya. Klik Add Current Ini dan sebuah adegan akan ditambahkan ke area Scene In Build

.Dalam contoh kita, kita telah menambahkan level pertama. Sekarang, tutup jendela ini dan pilih level kedua di editor. Klik lagi File> Build Settings, dan klik Add Current ini sekali lagi:

Jika Anda menambahkan level kedua sebelum yang pertama, jangan khawatir: cukup gunakan mouse untuk bertukar posisi di dalam antarmuka (karena adegan pertama dalam daftar adalah yang akan dimuat saat game diluncurkan).

Setelah kedua level ditambahkan dalam urutan yang benar, klik Build and Run dan Anda akan melihat build yang benar dari game terakhir Anda.

Seperti yang Anda lihat, ada beberapa platform yang dapat Anda pilih untuk menggunakan game Anda, yaitu:

  • Web browsers
  • PC, Mac, dan Linux
  • Sistem operasi seluler: iOS, Android, Blackberry, dan Windows Phone 8
  • Google Native Client
  • Konsol: Xbox360, PS3 dan Wii
  • Windows Store

Keuntungan besar menggunakan Unity adalah Anda hanya perlu memprogram game Anda sekali — kemudian, menggunakan engine, Anda dapat dengan cepat dan mudah menyebarkannya ke salah satu platform yang disebutkan di atas.

Namun, Anda harus memperhatikan bahwa beberapa platform dan sistem operasi memiliki batasan tertentu dalam hal aturan penempatan. Misalnya, untuk menggunakan perangkat iOS Anda harus memiliki sistem Mac dan lisensi pengembangan yang tepat. Anda juga perlu lisensi untuk digunakan ke PS3 dan Xbox.

Tantangan

Sekarang setelah Anda menyelesaikan tutorial ini, kami pikir Anda siap untuk melakukan beberapa tantangan. Anda dapat melihat tantangan ini sebagai penguasaan pengetahuan.Tambahkan Terjemahan

  1. Tambahkan gaya dan konfigurasi blok yang berbeda: tujuannya adalah untuk menentukan lebih banyak blok dengan properti yang berbeda, seperti nilai skor yang berbeda dan jumlah hit yang berbeda untuk dihabiskan.
  2. Buat level asli: level ketiga yang sama sekali berbeda dari dua tutorial. Anda dapat menggunakan latar belakang yang berbeda, musik yang berbeda dan tata letak blok yang berbeda. Kami ingin melihat tangkapan layar di bagian komentar!
  3. Menerapkan mode multipemain menggunakan keyboard yang sama: tambahkan logika yang diperlukan untuk menangani input dari tombol keyboard lain, dan tunjukkan skor dan masa pakai untuk pemain kedua di antarmuka.

Kesimpulan

Ini menyimpulkan seri tutorial ini tentang membangun Arkanoid menggunakan toolset 2D Unity. Kita telah membahas banyak hal dalam seri pendek ini, dan Anda sekarang harus cukup tahu untuk memulai dengan game 2D Anda sendiri. Jika Anda memiliki pertanyaan atau komentar, seperti biasa, jangan ragu untuk mengirimkan komentar kepada kami.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.