Bahagian 5: Menambah syiling dan mata
Pengenalan
Dengan Bahagian 4 selesai, anda seharusnya sudah mempunyai satu tahap dan watak boleh dimainkan untuk berlari dan melompat.
Sekarang, kita perlu memberikan tujuan kepada pemain kita. Untuk bahagian tutorial ini, kita akan menambah syiling yang boleh dikumpul dan skor untuk menjejaki jumlahnya.
Syiling yang tersembunyi dalam bata adalah salah satu ciri ikonik Mario. Mari kita mulakan tutorial ini dengan mencipta ciri tersebut.
Menyembunyikan Syiling dalam Bata
Memukul Bata
Kita akan membuat bata pertama kita dengan cara yang membolehkan kita dengan cepat mengubahnya untuk menyimpan sebanyak mana syiling yang kita perlukan. Setelah bata selesai, anda boleh menggandakannya dan meletakkannya di mana sahaja anda mahu.
Tutorial ini dibina berdasarkan Bahagian 4, dan menganggap anda telah memisahkan projek Bahagian 4 dari hub.
Mula dengan memilih salah satu bata yang akan menyimpan syiling. Dari sifat objek, ketik butang "Behavior" untuk membuka editor tingkah laku.
Dari kategori Objek, tambahkan tingkah laku Collided. Tingkah laku Collided akan mencetuskan satu acara setiap kali 2 objek tertentu bersentuhan antara satu sama lain.
Ketik tingkah laku Collided yang anda tambah untuk melihat sifatnya. Anda boleh melihat bahawa ia mempunyai 2 kotak untuk objek yang boleh dipilih (Dirujuk sebagai Objek A dan Objek B). Yang pertama (Objek A) telah dipilih untuk anda, dan ia adalah yang anda memohon tingkah laku ke atasnya. Anda boleh mengetik untuk menukarnya jika anda mahu, tetapi kita akan membiarkannya sahaja.
Kotak kosong adalah untuk objek kedua anda (Objek B), yang tingkah laku collided akan semak. Ketik kotak kosong itu, dan pilih watak pemain anda yang telah anda tambah dalam Bahagian 4 panduan ini.
Dengan objek anda yang dipilih, kini anda boleh menukar bahagian mana Objek B yang akan mencetuskan acara collided. Matikan semua toggle, kecuali pilihan "On Top". Kini tingkah laku Collided akan hanya berfungsi apabila bahagian atas watak pemain menyentuh bata.
Sekarang bata memeriksa jika kepala pemain menyentuhnya, mari kita buat ia melantun ke atas dan ke bawah. Untuk melakukan ini, kita akan menggunakan tingkah laku Move By untuk menggerakkannya ke atas, dan kemudian kembali ke bawah.
Dari kategori Transform, tambahkan tingkah laku Move By dan sambungkannya ke tingkah laku Collided yang anda tambah sebelum ini.
Ketik tingkah laku Move By, dan lihat sifatnya. Oleh kerana kita ingin menggerakkan bata ke atas apabila pemain memukulnya, kita akan menukar Y Value. Tetapkan ini kepada nombor kecil kerana kita hanya mahu memberikan sedikit kesan melantun. Saya menggunakan 0.20 Meter.
Anda juga perlu menukar Duration. Tempoh adalah masa yang diperlukan untuk pergerakan selesai. Secara lalai, durasi ditetapkan kepada 1, tetapi ini bermakna bata akan bergerak 0.2 meter dalam 1 saat. Ini terlalu perlahan untuk keperluan kita. Ubah tempoh kepada 0.10 Detik.
Nota: Menetapkan durasi kepada sifar akan menyebabkan objek anda bergerak serta-merta ke kedudukan baru. Ia tidak akan dianimasi secara lancar. Juga, perhatikan kotak dengan teks "Linear". Ini adalah kesan tween pergerakan yang diterapkan kepada pergerakan anda. Jika tingkah laku anda mempunyai durasi, ia akan bergerak berdasarkan kesan ini.
Sekarang untuk membuat bata melantun kembali, tambahkan satu lagi tingkah laku Move By, dan sambungkannya ke yang sebelumnya.
Sekali lagi, ubah sifatnya. Kali ini, kita mahu bata bergerak ke bawah. Untuk bergerak ke bawah, tukar Y Value kepada nombor negatif. Oleh kerana kita ingin bata kembali ke kedudukan asalnya, kita akan menggerakkannya sebanyak -0.20 Meter. Anda juga perlu menukar durasi kepada 0.10 Detik.
Setakat ini, jika anda tekan main, pemain anda boleh memukul bata dari bawah dan bata itu akan melantun ke atas dan ke bawah. Namun terdapat beberapa isu yang perlu kita selesaikan.
-
Terdapat bug kecil dengan logik kita. Jika pemain terus melompat dengan sangat cepat tanpa membiarkan kotak kembali ke kedudukan asal, ia akan terus bergerak ke atas.
-
Bata melantun selama-lamanya. Bagaimana jika anda hanya mahu beberapa syiling, kemudian ia berhenti apabila kosong?
-
Ia belum memberikan sebarang syiling lagi.
Mari kita mulakan dengan menangani isu 1. Ini sebenarnya bug yang mudah untuk diperbaiki. Apa yang perlu kita lakukan adalah mematikan tingkah laku collision sebaik sahaja pemain memukulnya, kemudian hidupkan kembali selepas ia selesai bergerak.
Untuk melakukan ini, tukar ke kategori Custom, dan tambahkan "Behavior Off", kemudian sambungkannya ke tingkah laku Collided.
Seterusnya, dari sifat Behavior Off, ketik kotak kosong yang dilabelkan "Select Behavior". Dari senarai, cari tingkah laku Collided yang betul. Perhatikan bahawa senarai menunjukkan semua tingkah laku, dari semua objek. Senarai disusun berdasarkan nama objek.
Sekarang anda perlu menghidupkan kembali tingkah laku collided apabila ia selesai melantun. Untuk ini, tambah lagi satu Behavior On dari kategori Custom dan sambungkannya ke tingkah laku Move By yang kedua. Dari sifat tingkah laku, pastikan anda memilih tingkah laku Collided untuk menghidupkannya kembali.
Untuk isu 2, kita akan menggunakan kotak pembungkus untuk menetapkan jumlah syiling yang disimpan setiap bata. Melakukan ini membolehkan kita mudah menukar bata tertentu untuk mempunyai lebih, atau kurang syiling.
Perkara pertama yang perlu anda lakukan ialah menambahkan kotak pembungkus dari kategori Custom, anda boleh meletakkannya di mana sahaja di skrin kerana ia tidak menyambung dengan objek lain. Anda juga boleh menamakan kotak pembungkus ini sebagai "Syiling" agar lebih mudah dijumpai kemudian (untuk mengingati cara menamakan tingkah laku, lihat Bahagian 4)
Dari sifat tingkah laku kotak pembungkus Syiling, ubah sifat "Default Value" kepada 3. Ini adalah jumlah syiling yang disimpan oleh bata.
Sekarang dari kategori Logic, tambahkan tingkah laku Add Values dan sambungkannya ke tingkah laku Move By yang kedua yang kita tambah sebelum ini. Kita akan menggunakan tingkah laku Add Values ini untuk menjejaki setiap kali pemain memukul bata.
Setelah tingkah laku "Add Values" disambungkan, ketik padanya untuk melihat sifat tingkah laku. Sifat menunjukkan 2 medan input, dan tingkah laku "Add Values" akan mengeluarkan jumlah nilai yang dimasukkan.
Dalam kes kita, kerana kita menggunakan tambah nilai untuk menjejaki setiap pukulan, kita akan memasukkan 1 di medan atas, dan untuk medan bawah, kita akan mengeluarkan jumlah tingkah laku "Add Value" kembali ke medan input kedua.
Apa yang dilakukan ini adalah menambah jumlah setiap kali tingkah laku dijalankan. Kali pertama tingkah laku dijalankan ia akan menjadi 1+0 kerana tiada jumlah. Kali kedua ia dijalankan ia akan menjadi 1+1, kerana jumlah dari masa sebelumnya disimpan.
Seterusnya, anda perlu memeriksa jika jumlah dari tambah nilai adalah sama dengan kotak pembungkus Syiling yang anda tambah sebelum ini.
Untuk ini, tambah tingkah laku IF dari kategori Logic dan sambungkannya ke tingkah laku Add Values dari langkah sebelumnya.
Dengan IF yang disambungkan, ketik padanya untuk melihat sifat tingkah laku. Tingkah laku IF, akan memeriksa jika syarat tertentu dipenuhi (berdasarkan 2 medan input, dan syarat yang dipilih).
Dalam kes ini, kita akan mengeluarkan (kongsi) jumlah dari tingkah laku Add value, dan meletakkannya ke dalam medan pertama IF.
Kemudian keluarkan kandungan kotak pembungkus ke dalam medan kedua.
Dengan nilai-nilai ini dimasukkan tingkah laku selanjutnya yang disambungkan hanya akan dilaksanakan IF jumlah tambah nilai sama dengan nilai yang disimpan dalam kotak pembungkus syiling.
Sekarang anda perlu mematikan tingkah laku collided, dan menukar grafik supaya anda tidak boleh mendapatkan sebarang syiling lagi. Untuk melakukan ini, tambah tingkah laku baru Behavior Off dari kategori Custom, dan sambungkannya ke IF. Seperti sebelum ini, pilih tingkah laku Collided yang ingin anda matikan.
Untuk menunjukkan kepada pemain bahawa tiada lagi syiling yang tinggal, anda boleh menambah tingkah laku Change Graphic dari kategori Transform, dan sambungkannya ke IF.
Setelah disambungkan, pilih grafik baru dari sifat tingkah laku Change Graphic. Ketik kotak kedua dalam sifat tingkah laku, dan pilih grafik baru.
Sekarang jika anda tekan play, anda boleh melompat dan memukul bata sebanyak 3 kali sebelum ia berhenti.
Mendapatkan Poin
Mengatur UI
Perkara seterusnya yang tinggal adalah untuk benar-benar mendapatkan poin, dan mengumpul syiling apabila memukul bata!
Perkara pertama yang akan kita lakukan ialah menambah pengiraan di sudut skrin untuk memberitahu pemain berapa banyak mata yang mereka miliki.
Jadi, kembali ke editor utama dengan menekan butang kembali dari editor tingkah laku. Kemudian anda perlu mengeluarkan bar Lapisan dengan mengetik 3 titik di sebelah kanan skrin (anda juga boleh menyapu dari tepi skrin).
Pilih lapisan Global UI. Lapisan UI wujud di atas lapisan lain dalam adegan dan biasanya digunakan untuk butang, joystick, dan label. Ia juga tetap di tempat yang sama di skrin, dan kelihatan bergerak dengan kandungan lain dalam adegan anda.
Nota: Objek yang diletakkan pada lapisan Global UI akan wujud di setiap adegan dalam projek anda. Jika anda mahu sesuatu yang hanya wujud dalam satu adegan, gunakan lapisan Scene UI.
Dengan lapisan Global UI yang dipilih, ketik ikon beaker Special Objects di dok, atau seret ke dalam adegan.
Dari popup, pilih Label, dan label akan diletakkan dalam adegan anda.
Ketik label yang baru ditambah untuk membuka sifat objek. Dari sifat label anda boleh mengubah warna teks, fon, teks untuk dipaparkan, dan banyak lagi.
Ketik kotak teks besar dan ubah teks menjadi "Points:".
Seterusnya, ketik "Alignment" untuk mengembangkan sifat penjajaran. Tetapkan Width kepada 110 dan Height kepada 64.
Nota: Menetapkan ini kepada 0, mengeluarkan kawasan teks, dan membenarkan teks anda berkembang secara mendatar tanpa had.
Dengan sifat label semua disiapkan, anda boleh menggunakan alat Move/Transform untuk meletakkan label baru anda di sudut skrin dan memastikan tidak menghalang pandangan pemain.
Setelah label anda disusun, tambah lagi satu label ke adegan, kita akan menggunakan label ini untuk memaparkan mata anda. Kali ini tetapkan teks kepada 0, kerana pemain anda bermula dengan sifar mata. Tidak seperti sebelum ini, kita akan menetapkan lebar dan tinggi yang ditentukan. Tetapkan Lebar kepada 500pt, dan tinggi kepada 64pt. Ini memberikan kawasan yang ditentukan, di mana teks boleh muncul. Jika anda mempunyai terlalu banyak teks untuk muat dalam kawasan ini ia akan dipotong.
Juga, tetapkan penjajaran mendatar untuk menjadi selari kiri (Flush Left).
Apabila anda selesai dengan sifat label, letakkannya di sebelah tajuk "Points".
Mendapatkan Poin
Sekarang kita perlu meningkatkan mata anda setiap kali anda mendapatkan syiling. Tukar kembali ke lapisan utama anda, dan kembali ke tingkah laku untuk bata dengan syiling supaya kita boleh menambahkan tingkah laku yang diperlukan.
Dari kategori UI, seret pada tingkah laku "Add To Score", dan sambungkannya ke tingkah laku Move By yang kedua yang ditambahkan sebelum ini dalam panduan ini.
Seterusnya, ketik tingkah laku Add To Score, dan hidupkan toggle Infinite Score. Jika toggle ini dimatikan, tingkah laku seterusnya akan mencetus apabila skor tertentu dicapai. Juga pastikan bahawa label "0" dipilih sebagai objek yang betul, kerana tingkah laku Add To Score akan secara automatik memilih label rawak dalam adegan anda.
Jika anda tekan play sekarang, anda akan mendapatkan 1 mata setiap kali pemain memukul bata.
Sekarang, anda boleh menggandakan bata ini (seperti yang anda pelajari dalam bahagian 3), dan meletakkannya di sepanjang tahap anda.
Syiling Individu
Syiling pertama anda
Kadang-kadang anda mungkin mahu menambah syiling di seluruh tahap anda tanpa menyembunyikannya di dalam bata. Ini agak mudah, dan kita akan membincangkan itu sekarang.
Mula dengan menambahkan grafik syiling anda ke dalam adegan, kemudian ketik padanya untuk melihat sifat objek.
Dari bahagian bawah sifat objek, pastikan tab physics dipilih.
Semasa berada dalam tab fizik, jadikan syiling boleh dilalui. Melakukan ini membolehkan pemain kita terus berlari melaluinya tanpa dihentikan atau perlahan.
Seterusnya kita akan menyesuaikan sempadan pelanggaran syiling. Sempadan pelanggaran menentukan bentuk fizikal objek. Sempadan pelanggaran mungkin berukuran atau berbentuk berbeza daripada penampilan visual objek. Untuk menyesuaikan sempadan pelanggaran, ketik ikon Collisions.
Dari Editor Pelanggaran anda boleh menggunakan palet alat di sebelah kiri untuk mengubah dan mencipta bentuk pelanggaran yang unik.
Untuk panduan ini, kita akan memilih pilihan "Circle" untuk mencipta sempadan pelanggaran bulatan.
Seterusnya, seret titik hijau pada bulatan untuk mengubah saiz sempadan pelanggaran. Jadikan sempadan pelanggaran sama saiz dengan syiling. Perhatikan, jika sempadan pelanggaran lebih besar daripada objek anda, maka pemain anda boleh berinteraksi dengannya walaupun sebelum ia menyentuh grafik syiling di tengahnya.
Apabila anda selesai mencipta sempadan pelanggaran, ketik ikon tanda semak dalam palet alat untuk menerima dan menyimpan bentuk baru.
Sekali lagi, ketik syiling untuk melihat Sifat Objek. Kali ini buka editor tingkah laku untuk syiling.
Dari kategori Objek, tambah tingkah laku "Collided" ke skrin. Sama seperti sebelum ini, buka sifat tingkah laku collided, dan pilih pemain Green Spaceman untuk Objek B.
Seterusnya dari kategori UI, seret pada tingkah laku Add to Score, dan sambungkannya ke collided. Sekali lagi, dari sifat tingkah laku, hidupkan toggle untuk Infinite Score, dan pastikan label skor yang betul dipilih.
Akhirnya, dari kategori Objek, tambahkan tingkah laku Destroy Object ,dan sambungkannya ke tingkah laku collided. Ini akan mengeluarkan syiling sepenuhnya sebaik sahaja pemain melaluinya.
Jika anda tekan play, anda kini boleh melangkah ke syiling, dan ia akan hilang.
Itu sahaja! Kini permainan platform anda mempunyai syiling yang boleh dikumpul. Pada ketika ini, yang anda perlu lakukan hanyalah menggandakan syiling anda dan meletakkannya di seluruh tahap anda. Cubalah untuk menjadi kreatif semasa meletakkan syiling anda!
Anda boleh memuat turun versi siap Bahagian 5 dari Hub dan melihat semuanya dalam tindakan.
Dalam Bahagian 6, kita akan mula menambah sedikit kesukaran kepada permainan dengan memperkenalkan musuh.

