Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Corona SDK
Code

Membangun permainan tak berujung Runner dari awal: Menu permainan

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Corona SDK: Build an Endless Runner Game From Scratch.
Build an Endless Runner Game From Scratch: Boss Battles
Build an Endless Runner Game From Scratch: App Store Publishing

Indonesian (Bahasa Indonesia) translation by Keti Pritania (you can also view the original English article)

Selamat datang di angsuran terbaru dalam serial Endless Runner. Dalam tutorial hari ini, Anda akan belajar bagaimana membangun menu permainan yang menggunakan kelas Direktur. Mari kita mulai!

Selamat datang ini jauh dalam seri! Sudah berjalan panjang, tapi sekarang kita memiliki permainan sepenuhnya fungsional dan mudah-mudahan pemahaman dasar tentang cara menambahkan komponen Anda sendiri untuk memperluas pada segala sesuatu. Langkah kita akan lakukan sekarang adalah untuk menempatkan tingkat kecil kami ke sistem menu sehingga rasanya seperti permainan lengkap.

Kami akan melakukan ini dengan menggunakan kelas Direktur, yang adalah sebuah perpustakaan kecil yang sangat baik dibuat oleh Ricardo Rauber yang akan melakukan semua pekerjaan untuk Anda. Setelah Anda melihat bagaimana laughably mudahnya, Anda akan mampu menerapkan ini dengan cepat dalam setiap proyek.

Hal pertama yang perlu Anda lakukan adalah pergi ke sini dan men-download versi terbaru dari kelas. Ketika Anda men-download, itu akan memberi Anda banyak file. Muncul dengan jauh lebih dari sekadar Direktur kelas, termasuk contoh, template, dan fungsi-fungsi tambahan yang dapat membuat hidup Anda lebih mudah, sehingga merasa bebas untuk memeriksa segala sesuatu yang ditawarkan. Jika Anda tidak ingin semua bersenang-senang sedikit tambahan disediakan, Anda dapat men-download file untuk tutorial ini dan mengambilnya dari sana.

Sekarang bahwa kita memiliki director.lua file, memasukkannya ke dalam folder yang sama dengan main.lua Anda. Berbicara tentang file main.lua Anda, pergi ke depan dan mengubah nama itu. Tidak peduli apa yang Anda mengubah hal itu karena kami akan berakhir pula menghapusnya. Setelah Anda melakukannya Anda akan membuat tiga file baru di folder itu. Menyebutnya main.lua, menu.lua dan game.lua. Dasar-dasar bagaimana ini akan bekerja adalah main.lua yang akan dipanggil untuk memulai permainan. Ini akan menjadi dasar program kami, sementara menu.lua dan game.lua akan bertindak sebagai components(displayGroups) yang ditampilkan dalam displayGroup dalam main.lua itu sendiri, banyak cara yang sama semua yang menampilkan berbagai kelompok dalam permainan kami semua diadakan dan ditampilkan dari dalam displayGroup layar dalam permainan kami saat ini.

Jadi, hal pertama yang pertama, mari kita mengatur file main.lua baru kami. Membukanya dan Celepuk kode ini di sana:

Jadi hanya itu! Mengambil komentar dan Anda akan melihat hanya dibutuhkan sekitar 5 baris untuk mendapatkan Direktur kelas atas dan berjalan. Seperti dikatakan di komentar, cara ini benar-benar bekerja adalah main.lua mulai pertama, tapi kemudian tanpa aliran permainan didikte dalam main.lua file, kita membiarkan kelas Direktur mengambil alih. Kami menciptakan display.newGroup dan cadangan sebagai tampilan utama kami. Jadi ketika permainan benar-benar beban, segala sesuatu yang Anda lihat sebenarnya sedang dilihat dari file main.lua dalam kelompok tampilan ini. Cukup rapi, ya! Jadi, setelah Anda memasukkan pandangan ke dalamnya, kita hanya perlu memberitahu Direktur adegan yang untuk memuat dan ini secara otomatis akan membawa kita sana. Mudah saja, kan?

Hal berikutnya yang perlu kita lakukan untuk benar-benar bekerja adalah untuk memiliki adegan menu. Kode adalah benar-benar sederhana dan sebagian besar telah kita lihat, jadi aku akan memposting seluruh file pertama dan kemudian menjelaskan beberapa hal yang baru. Mari kita membuka menu.lua dan melihat betapa mudahnya untuk benar-benar menciptakan sistem menu sederhana. Salin berikut ke menu.lua Anda:

Satu hal yang baru di sini adalah garis Direktur: changeScene(). Hal ini sangat lurus ke depan seperti halnya persis apa Anda akan berpikir itu akan. Namun, saya ingin menunjukkan secondparameter, "downFlip". Ada banyak dibangun dalam transisi yang dapat membuat Anda terlihat permainan semua mewah bila beralih di antara adegan, itu hanya tergantung pada apa yang Anda inginkan permainan Anda terlihat seperti. Berikut adalah gambar transisi kita berlangsung.

Transition

Pastikan untuk mencoba beberapa transisi yang berbeda untuk menemukan satu yang akan bekerja terbaik untuk permainan Anda. Anda dapat menemukan daftar lengkap mereka dalam director.lua file. Hanya melihat semua efek yang berbeda dan memberikan pusaran. Beberapa contoh Anda dapat mencoba dengan cepat jika Anda tidak ingin pergi menggali adalah "crossfade", "overfromtop", dan "flipFromBottom" untuk nama hanya beberapa! Jadi, Selain itu, ada sangat sedikit di sana yang Anda belum lihat sebelumnya. Semua barang itu hanya membuat layar menu utama sedikit murah. Ada beberapa hal-hal di sana yang harus Anda ambil catatan yang akan dibutuhkan di setiap adegan yang Direktur. Yang pertama:

Polos dan sederhana. Anda perlu garis tepat di bagian atas setiap file *.lua bahwa Direktur akan menggunakan sebagai adegan. Setelah ini Anda memiliki new() fungsi yang disebut ketika memasuki adegan dan segala sesuatu yang Anda inginkan adegan untuk melakukan harus disertakan di sini. Hal pertama yang perlu Anda lakukan adalah membuat displayObject yang akan dikembalikan kepada Direktur akan ditampilkan, maka pastikan untuk mengembalikannya pada akhir fungsi baru. Itu saja. Sound mudah? Itu adalah karena itu! Direktur kelas benar-benar membuatnya mudah. Selama gambar Anda di tempat yang tepat untuk adegan menu Anda harus mampu Jalankan main.lua file dan telah memulai tanpa masalah.

Sejauh ini kita memiliki file utama kami dan kami file menu utama yang diambil dari perawatan. Hal terakhir yang perlu kita lakukan adalah membuat beberapa perubahan ke file permainan kami. Ini juga akan menjadi mudah. Buka game.lua file dan tambahkan kode berikut:

Itu adalah barebones dari apa yang Anda butuhkan untuk adegan. Kebetulan, ini adalah semua yang Anda butuhkan untuk mendapatkan file main.lua yang lama ke dalam file game.lua Anda. Setelah Anda memiliki bahwa di sana, yang harus Anda lakukan adalah salinan file main.lua lama Anda seluruh dan paste mana dikatakan pasta kode di sini. Melakukan hal itu dan Anda selesai. . .almost. Kami juga akan membuat beberapa perubahan untuk bagaimana kita menampilkan permainan kami atas pesan. Daripada memiliki satu tombol besar, kita akan memecah itu ke dalam beberapa tombol kecil agar kita memilih untuk me-restart permainan atau kembali ke menu. Mari kita mulai membuat beberapa perubahan tersebut (Perhatikan bahwa gameOver.png berubah untuk menyesuaikan tata letak tombol baru. Dimensi gambar adalah masih sama sehingga Anda tidak perlu membuat penyesuaian apapun untuk itu). Perubahan pertama akan menjadi untuk menambahkan tombol baru dalam permainan.

Tambahkan kode ini ke mana kita menambahkan semua gambar-gambar lainnya di bagian atas dari file:

Kemudian pastikan untuk menambahkan mereka ke layar juga. Tambahkan ini setelah istirahat sisipan layar sehingga mereka muncul di atas segalanya:

Hal berikutnya yang ingin Anda lakukan adalah pergi ke fungsi touched() dan menghapus pertama jika/lain pernyataan sehingga itu tampak seperti ini:

Dengan melakukan ini, itu membuat fungsi menyentuh yang murni menangani interaksi dalam permainan. Kita akan bergerak logika yang restart permainan untuk fungsi tersendiri. Tambahkan fungsi-fungsi ini di bawah touched() fungsi:

Jadi, cukup lurus ke depan, dan hal yang sama yang telah kita lakukan beberapa kali sekarang. Selanjutnya, menembak jatuh ke bagian bawah kode mana kita menambahkan pendengar acara kami dan menambahkan dua lebih banyak pendengar:

Jadi, beberapa hal terakhir yang harus kita lakukan adalah account untuk perubahan dalam posisi untuk dua tombol rakasa kami mati, dan ketika kita membuat ulang permainan. Berikut adalah tambahan yang kita perlu memasukkan untuk memastikan mereka bekerja dengan benar. Dalam fungsi restartGame() menambahkan ini:

Lalu pergi ke fungsi checkCollisions(), di mana Anda harus melihat garis-garis ini beberapa kali:

Menambahkan blok ini tepat di bawah setiap contoh itu (itu harus 4 semua dalam semua, satu untuk setiap cara untuk mati):

Setelah Anda memiliki semua perubahan tersebut di tempat Anda harus mampu memulai permainan dari main.lua dan akan mampu bergerak dari menu utama Anda permainan, mati, dan kemudian memilih apakah Anda ingin bermain lagi atau untuk kembali ke menu. Jadi, dengan asumsi semua baik, itu adalah akhir, kami sekarang memiliki permainan kami pindah ke sistem menu menggunakan kelas Direktur! Kami bergerak sangat cepat melalui sebagian besar itu, alasannya adalah bahwa benar-benar tidak ada sangat banyak konten baru. Jika Anda memiliki masalah dengan salah satu langkah-langkah, beritahu saya di komentar dan saya akan lebih dari senang untuk membantu Anda bekerja melalui mereka. Folder baru dalam file download juga berisi produk selesai juga sehingga Anda dapat selalu menggunakan itu sebagai referensi. Mudah-mudahan tutorial ini seri telah bermanfaat bagi Anda dalam mendapatkan Anda mulai di game development dengan Corona SDK, seperti Anda dapat melihat keseluruhan proses ini benar-benar sangat sederhana. Corona SDK kuat dan sangat user friendly setelah Anda mendapatkan dasar-dasar. Mudah-mudahan, Anda sekarang dapat bergerak maju dan membuat beberapa permainan yang mengagumkan.

Akan ada satu lagi tutorial untuk seri ini, tetapi itu akan tidak mengubah permainan di pula, tetapi akan berfokus pada mengirimkan permainan Anda ke app store sebagai yang selalu petualangan melakukannya pertama Anda waktu. Coding yang sangat bahagia dan terima kasih untuk mengikuti bersama!

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.