Bagian 5: Menambahkan koin dan poin | hyperPad Documentation

Loading...

Logo
Panduan Lengkap - Menciptakan Permainan Platform

Bagian 5: Menambahkan koin dan poin

Last updated September 19, 2015

Pengantar

Dengan Bagian 4 selesai, Anda sekarang seharusnya memiliki level dan karakter yang dapat dimainkan untuk berlari dan melompat.

Sekarang kita perlu memberikan tujuan kepada pemain kita. Untuk bagian tutorial ini, kita akan menambahkan koin yang bisa dikumpulkan dan skor untuk melacaknya.

Koin yang tersembunyi di dalam blok adalah salah satu fitur ikonik Mario. Mari kita mulai tutorial ini dengan menciptakan fitur itu.

Menyembunyikan Koin dalam Batu Bata

Memukul Batu Bata

Kita akan membuat batu bata pertama kita sedemikian rupa sehingga kita dapat dengan cepat memodifikasinya untuk menampung sebanyak mungkin koin yang kita butuhkan. Begitu batu bata selesai, Anda dapat menduplikasinya dan menempatkannya di mana saja yang Anda mau.

Tutorial ini dibangun dari Bagian 4, dan mengasumsikan Anda telah membangun proyek Bagian 4 dari hub.

Mulailah dengan memilih salah satu batu bata yang akan menyimpan koin. Dari properti objek, ketuk tombol "Perilaku" untuk membuka editor perilaku.

Dari kategori Objek, tambahkan perilaku Collided. Perilaku Collided akan memicu suatu peristiwa setiap kali 2 objek yang ditentukan saling menyentuh.

Ketuk perilaku Collided yang Anda tambahkan untuk melihat propertinya. Anda akan melihat bahwa ada 2 kotak untuk objek yang dapat dipilih (Dirujuk sebagai Objek A, dan Objek B). Yang pertama (Objek A) telah dipilih untuk Anda, dan itu adalah yang Anda terapkan perilaku padanya. Anda dapat mengetuk untuk mengubahnya jika Anda mau, tetapi kita akan membiarkannya begitu saja.

Kotak kosong adalah untuk objek kedua Anda (Objek B), yang perilaku Collided akan diperiksa. Ketuk kotak kosong tersebut, dan pilih karakter pemain Anda yang Anda tambahkan di Bagian 4 panduan ini.

Dengan objek Anda yang terpilih, Anda sekarang dapat mengubah bagian mana dari Objek B yang akan memicu peristiwa yang terlibat. Matikan semua toggle, kecuali opsi "On Top". Sekarang perilaku Collided hanya akan bekerja ketika bagian atas karakter pemain menyentuh batu bata.

Sekarang bahwa batu bata memeriksa apakah kepala pemain menyentuhnya, mari kita buat itu melompat ke atas dan ke bawah. Untuk melakukan ini kita akan menggunakan perilaku Move By untuk memindahkannya ke atas, dan kemudian kembali ke bawah.

Dari kategori Transformasi, tambahkan perilaku Move By dan hubungkan dengan perilaku Collided yang sebelumnya Anda tambahkan.

Ketuk perilaku Move By, dan lihat propertinya. Karena kita ingin menggerakkan batu bata ke atas saat pemain memukulnya, kita akan mengubah Nilai Y. Atur ini ke angka kecil karena kita hanya ingin memberikan efek melompat kecil. Saya menggunakan 0.20 Meter.

Anda juga perlu mengubah Durasi. Durasi adalah waktu yang dibutuhkan untuk menyelesaikan gerakan. Secara default, durasi diatur ke 1, tetapi ini berarti batu bata akan bergerak 0.2 meter selama 1 detik. Ini terlalu lambat untuk kebutuhan kita. Ubah durasi menjadi 0.10 Detik.

Catatan: Menetapkan durasi nol, akan menyebabkan objek Anda bergerak secara instan ke posisi baru. Itu tidak akan dianimasikan dengan halus. Selain itu, perhatikan kotak dengan teks "Linear". Ini adalah efek tween gerakan yang diterapkan pada gerakan Anda. Jika perilaku Anda memiliki durasi, itu akan bergerak berdasarkan efek ini.

Sekarang untuk membuat batu bata melompat kembali, tambahkan perilaku Move By lainnya, dan sambungkan ke yang sebelumnya.

Sekali lagi, ubah propertinya. Kali ini, kita ingin batu bata bergerak kembali ke bawah. Untuk memindahkannya ke bawah, ubah Nilai Y ke angka negatif. Karena kita ingin batu bata kembali ke posisi semulanya, kita akan memindahkannya sejauh -0.20 Meter. Anda juga perlu mengubah durasi ke 0.10 Detik.

Dengan ini, jika Anda menekan play, pemain Anda dapat memukul batu bata dari bawah dan batu bata akan melompat ke atas dan ke bawah. Namun ada beberapa masalah yang perlu kita tangani.

  1. Ada bug kecil pada logika kita. Jika pemain terus melompat sangat cepat tanpa membiarkan kotak kembali ke posisi semula, itu akan terus bergerak ke atas.

  2. Batu bata melompat selamanya. Bagaimana jika Anda hanya ingin beberapa koin, kemudian berhenti ketika kosong?

  3. Belum memberikan koin.

Kita mulai dengan menangani masalah 1. Ini sebenarnya adalah bug sederhana untuk diperbaiki. Yang perlu kita lakukan adalah mematikan perilaku tabrakan segera setelah pemain memukulnya, kemudian menyalakannya kembali saat sudah selesai bergerak.

Untuk melakukan ini, beralih ke kategori Kustom, dan tambahkan "Behavior Off", kemudian hubungkan ini ke perilaku Collided.

Selanjutnya, dari propertinya Behavior Off, ketuk kotak kosong yang diberi label "Pilih Perilaku". Dari daftar, temukan perilaku Collided yang benar. Perhatikan bahwa daftar menunjukkan semua perilaku, dari semua objek. Daftar diurutkan berdasarkan nama objek.

Sekarang Anda perlu menyalakan kembali perilaku tabrakan saat selesai melompat. Untuk melakukannya, cukup tambahkan Behavior On dari kategori Kustom dan sambungkan ke perilaku Move By yang kedua. Dari properti perilaku, pastikan Anda memilih perilaku Collided untuk dinyalakan kembali.

Untuk masalah 2, kita akan menggunakan kotak penampung untuk mengatur jumlah koin yang dimiliki setiap batu bata. Melakukan ini memungkinkan kita untuk dengan mudah mengubah batu bata tertentu untuk memiliki lebih banyak, atau lebih sedikit koin.

Hal pertama yang perlu Anda lakukan adalah menambahkan kotak penampung dari kategori Kustom, Anda dapat menempatkannya di mana saja di layar karena tidak terhubung dengan yang lain. Anda juga dapat mengganti nama kotak penampung ini menjadi "Koin" sehingga lebih mudah ditemukan nanti (untuk mengingat cara mengganti nama perilaku, lihat Bagian 4)

Dari properti perilaku dari kotak penampung Koin, ubah properti "Nilai Default" menjadi 3. Ini adalah jumlah koin yang dimiliki batu bata.

Sekarang dari kategori Logika tambahkan perilaku Add Values dan sambungkan ke Move By yang kedua yang kita tambahkan sebelumnya. Kita akan menggunakan perilaku Add Values ini untuk melacak setiap kali pemain memukul batu bata.

Setelah perilaku "Add Values" terhubung, ketuk untuk melihat propertinya. Properti menunjukkan 2 bidang input, dan perilaku "Add Values" akan menghasilkan jumlah dari nilai-nilai yang dimasukkan.

Dalam hal ini, karena kami menggunakan nilai tambah untuk melacak setiap pukulan, kami akan memasukkan 1 di bidang atas, dan untuk bidang bawah, kami akan mengeluarkan jumlah dari perilaku Add Value kembali ke bidang input kedua.

Apa yang dilakukan ini adalah menambah jumlah setiap kali perilaku dijalankan. Pertama kali perilaku dijalankan itu akan 1+0 karena tidak ada jumlah. Kali kedua ketika dijalankan itu akan 1+1, karena jumlah dari waktu sebelumnya disimpan.

Selanjutnya, Anda perlu memeriksa apakah jumlah dari nilai yang ditambahkan sama dengan kotak penampung Koin yang Anda tambahkan sebelumnya.

Untuk melakukan ini, tambahkan perilaku IF dari kategori Logika dan sambungkan ke perilaku Add Values dari langkah sebelumnya.

Dengan IF terhubung, ketuk untuk melihat propertinya. Perilaku IF, akan memeriksa apakah suatu kondisi tertentu terpenuhi (berdasarkan 2 bidang input, dan kondisi yang dipilih).

Dalam hal ini, kami akan mengeluarkan (berbagi) jumlah dari perilaku nilai tambah, dan menempatkannya ke dalam bidang pertama dari IF.

Kemudian keluarkan isi dari kotak penampung ke dalam IF kedua.

Dengan nilai-nilai yang dimasukkan, perilaku berikut yang terhubung hanya akan dieksekusi JIKA jumlah dari nilai tambah sama dengan nilai yang tersimpan dalam kotak penampung koin.

Sekarang yang perlu Anda lakukan adalah mematikan perilaku tabrakan, dan mengubah grafik agar Anda tidak bisa mendapatkan koin lagi. Untuk melakukan ini, tambahkan perilaku baru Behavior Off dari kategori Kustom, dan sambungkan ke IF. Seperti sebelumnya, pilih perilaku Collided sebagai yang ingin Anda matikan.

Untuk menunjukkan kepada pemain bahwa tidak ada lagi koin tersisa, Anda dapat menambahkan perilaku Change Graphic dari kategori Transformasi, dan menyambungkannya ke IF.

Setelah terhubung pilih grafik baru dari propertinya Change Graphic. Ketuk kotak kedua dalam properti perilaku, dan pilih grafik baru.

Sekarang jika Anda menekan play, Anda bisa melompat dan memukul batu bata 3 kali sebelum itu berhenti.

Mendapatkan Poin

Mengatur UI

Hal selanjutnya yang tersisa adalah benar-benar mendapatkan poin, dan mengumpulkan koin saat memukul batu bata!

Hal pertama yang akan kita lakukan adalah menambahkan penghitung di sudut layar untuk memberi tahu pemain berapa banyak poin yang mereka miliki.

Jadi, kembali ke editor utama dengan menekan kembali dari editor perilaku. Kemudian Anda perlu menampilkan bilah Layers dengan mengetuk 3 titik di sisi kanan layar (Anda juga bisa menggesek dari tepi layar).

Pilih lapisan Global UI. Lapisan UI berada di atas lapisan lain di adegan dan biasanya digunakan untuk tombol, joystick, dan label. Mereka juga tetap di tempat yang sama di layar, dan tampak bergerak dengan sisa konten di adegan Anda.

Catatan: Objek yang ditempatkan di lapisan Global UI akan ada di setiap adegan dalam proyek Anda. Jika Anda ingin sesuatu hanya ada dalam satu adegan, gunakan lapisan Scene UI.

Dengan lapisan Global UI yang dipilih, ketuk ikon beaker Special Objects di dock, atau seret ke dalam adegan.

Dari popup pilih Label, dan sebuah label akan ditempatkan di dalam adegan Anda.

Ketuk label yang baru ditambahkan untuk membuka propertinya. Dari properti label Anda dapat mengubah warna teks, font, teks yang ditampilkan, dan lainnya.

Ketuk kotak teks besar dan ubah teks menjadi "Poin:".

Selanjutnya, ketuk "Penjajaran" untuk memperluas propertinya. Atur Lebar menjadi 110 dan Tinggi menjadi 64.

Catatan: Menetapkan ini ke 0, menghapus area teks, dan memungkinkan teks Anda tumbuh secara horizontal tanpa batas.

Dengan semua properti label diatur, Anda dapat menggunakan alat Move/Transform untuk menempatkan label baru Anda di sudut layar dan pastikan tidak menghalangi pandangan pemain.

Setelah label Anda diposisikan, tambahkan label lainnya ke dalam adegan, kita akan menggunakan label ini untuk menampilkan poin Anda. Kali ini atur teks menjadi 0, karena pemain Anda mulai dengan nol poin. Tidak seperti sebelumnya, kita akan mengatur lebar dan tinggi yang ditentukan. Atur Lebar menjadi 500pt, dan tinggi menjadi 64pt. Ini memberikan area yang ditentukan, di mana teks dapat muncul. Jika Anda memiliki terlalu banyak teks untuk muat di area ini itu akan terpotong.

Selain itu, atur penjajaran horizontal menjadi rata kiri (Flush Left).

Setelah selesai dengan properti label, posisikan di samping judul "Poin".

Mendapatkan Poin

Sekarang kita perlu meningkatkan poin Anda setiap kali Anda mendapatkan koin. Beralih kembali ke lapisan utama Anda, dan kembali ke perilaku untuk batu bata dengan koin sehingga kita bisa menambahkan perilaku yang diperlukan.

Dari kategori UI, seret perilaku "Add To Score" dan hubungkan ke perilaku Move By kedua yang ditambahkan sebelumnya di panduan ini.

Selanjutnya, ketuk perilaku Add To Score, dan aktifkan toggle Infinite Score. Jika toggle ini dimatikan, perilaku berikutnya akan terpicu saat skor yang ditentukan tercapai. Juga pastikan bahwa label "0" dipilih sebagai objek yang benar, karena perilaku Add To Score akan secara otomatis memilih label acak di adegan Anda.

Jika Anda tekan play sekarang, Anda akan mendapatkan 1 poin untuk setiap kali pemain memukul batu bata.

Sekarang, Anda dapat menduplikasi batu bata ini (seperti yang Anda pelajari di bagian 3), dan menempatkannya di seluruh level Anda.

Koin Individu

Koin pertama Anda

Terkadang Anda mungkin ingin hanya menambahkan koin di seluruh level Anda tanpa menyembunyikannya di dalam batu bata. Ini cukup sederhana, dan kita akan membahasnya sekarang.

Mulailah dengan menambahkan grafik koin Anda ke dalam adegan Anda, lalu ketuk untuk melihat propertinya.

Dari bagian bawah properti objek, pastikan tab fisika dipilih.

Saat berada di tab fisika, buat koin dapat dilalui. Melakukan ini memungkinkan pemain kita untuk terus berlari melaluinya tanpa dihentikan atau diperlambat.

Selanjutnya kita akan menyesuaikan batas kolisi dari koin. Batas kolisi mendefinisikan bentuk fisik objek. Batas kolisi mungkin memiliki ukuran atau bentuk yang berbeda dari penampilan visual objek. Untuk menyesuaikan batas kolisi, ketuk ikon Kolisi.

Dari Editor Kolisi Anda dapat menggunakan palet alat di sebelah kiri untuk memodifikasi dan menciptakan bentuk kolisi yang unik.

Untuk panduan ini, kita akan memilih opsi "Lingkaran" untuk membuat batas kolisi lingkaran.

Selanjutnya, seret titik hijau pada lingkaran untuk mengubah ukuran batas kolisi. Buat batas kolisi sama besar dengan koin. Perhatikan, jika batas kolisi lebih besar dari objek Anda, maka pemain Anda dapat berinteraksi dengannya bahkan sebelum menyentuh grafik koin di tengah.

Setelah Anda selesai membuat batas kolisi, ketuk ikon centang di palet alat untuk menerima dan menyimpan bentuk baru.

Sekali lagi, ketuk koin untuk melihat Properti Objek. Kali ini buka editor perilaku untuk koin.

Dari kategori Objek, tambahkan perilaku "Collided" ke layar. Sama seperti sebelumnya, buka propertinya perilaku tabrakan, dan pilih pemain Green Spaceman untuk Objek B.

Selanjutnya dari kategori UI, seret perilaku Add to Score, dan sambungkan ke perilaku tabrakan. Lagi, dari propertinya, aktifkan toggle untuk Infinite Score, dan pastikan label skor yang benar dipilih.

Terakhir, dari kategori Objek, tambahkan perilaku Hapus Objek, dan sambungkan ke perilaku tabrakan. Ini akan sepenuhnya menghapus koin segera setelah pemain memasuki koin.

Jika Anda menekan play, sekarang Anda bisa berlari ke koin, dan itu akan menghilang.

Itu saja! Sekarang permainan platform Anda memiliki koin yang bisa dikumpulkan. Pada titik ini, yang perlu Anda lakukan hanyalah menduplikasi koin Anda dan menempatkannya di seluruh level Anda. Cobalah untuk kreatif saat menempatkan koin Anda!

Anda dapat mengunduh versi yang selesai dari Bagian 5 dari Hub dan melihat semuanya dalam aksi.

Di Bagian 6, kita akan mulai menambahkan sedikit kesulitan dalam permainan dengan memperkenalkan musuh.