Bina permainan Android asas pertama anda hanya dalam 7 minit (dengan Perpaduan)

Pengarang: Lewis Jackson
Tarikh Penciptaan: 11 Mungkin 2021
Tarikh Kemas Kini: 1 Julai 2024
Anonim
The Great Gildersleeve: Gildy’s New Car / Leroy Has the Flu / Gildy Needs a Hobby
Video.: The Great Gildersleeve: Gildy’s New Car / Leroy Has the Flu / Gildy Needs a Hobby

Kandungan


Membuat permainan yang berfungsi sepenuhnya untuk Android jauh lebih mudah daripada yang anda fikirkan. Kunci untuk pembangunan Android yang berjaya - atau apa-apa jenis pembangunan - adalah untuk mengetahui apa yang anda mahu capai dan mencari alat dan kemahiran yang diperlukan untuk melakukannya. Ambil laluan perlawanan yang paling sedikit dan mempunyai matlamat yang jelas.

Ketika datang untuk membuat permainan, alat terbaik yang menurut saya adalah Perpaduan. Ya, anda boleh membuat permainan di Android Studio, tetapi melainkan jika anda berpengalaman dengan Java dan SDK Android, ini akan menjadi perjuangan yang tegak. Anda perlu memahami apa kelas yang dilakukan. Anda perlu menggunakan pandangan peribadi. Anda akan bergantung kepada beberapa perpustakaan tambahan. Senarai terus.

Perpaduan adalah alat yang sangat profesional yang menguasai majoriti tajuk jualan terbesar di Play Store.

Perpaduan di sisi lain adalah kebanyakan kerja untuk anda. Ini adalah enjin permainan, yang bermaksud bahawa semua fizik dan banyak ciri lain yang mungkin anda ingin gunakan sudah dijaga. Ia adalah platform silang dan ia direka untuk menjadi sangat mesra pemula untuk penggemar dan pemaju indie.


Pada masa yang sama, Unity adalah alat yang sangat profesional yang menguasai majoriti tajuk jualan terbesar di Play Store. Tiada batasan di sini dan tidak ada sebab yang baik untuk menjadikan kehidupan lebih sukar untuk diri sendiri. Ia juga percuma!

Untuk menunjukkan betapa mudahnya perkembangan permainan dengan Perpaduan, saya akan menunjukkan kepada anda bagaimana untuk membuat permainan Android pertama anda dalam masa 7 minit.

Tidak - saya tidak akan terangkan bagaimana untuk melakukannya dalam masa 7 minit. Saya pergi ke lakukannya dalam 7 minit. Jika anda mengikuti juga, anda akan dapat melakukan perkara yang sama!

Penafian: sebelum kita bermula, saya hanya ingin menunjukkan bahawa saya sedikit menipu. Walaupun proses membuat permainan akan mengambil masa 7 minit, yang mengandaikan bahawa anda telah memasang Unity dan mendapat semua yang ditetapkan. Tetapi saya tidak akan meninggalkan anda tergantung: anda boleh mendapatkan tutorial penuh bagaimana untuk melakukannya.


Menambah sprite dan fizik

Mula dengan mengklik dua kali pada Perpaduan untuk melancarkannya. Malah perjalanan terpanjang bermula dengan satu langkah.

Sekarang buat projek baru dan pastikan anda memilih '2D'. Sebaik sahaja anda masuk, anda akan disambut dengan beberapa tingkap yang berbeza. Perkara-perkara ini dilakukan. Kami tidak mempunyai masa untuk menjelaskan, jadi ikuti arahan saya dan anda akan mengambilnya semasa kami pergi.

Perkara pertama yang anda mahu lakukan ialah membuat sprite menjadi watak anda. Cara termudah untuk melakukan itu adalah untuk menarik persegi. Kami akan memberikannya beberapa mata. Jika anda mahu menjadi lebih cepat lagi, anda boleh merebut sprite yang anda suka dari suatu tempat.

Simpan sprit ini dan kemudian seret dan jatuhkan ke dalam 'adegan' anda dengan meletakkannya di tetingkap terbesar. Anda akan melihat bahawa ia juga muncul di sebelah kiri dalam 'hierarki'.

Sekarang kita mahu membuat beberapa platform. Sekali lagi, kami akan melakukan dengan persegi mudah dan kami akan dapat mengubah saiz ini secara percuma untuk membuat dinding, platform dan apa yang ada pada anda.

Di sana kita pergi, cantik. Jatuhkan dengan cara yang sama seperti yang anda buat.

Kami sudah mempunyai sesuatu yang kelihatan seperti 'permainan'. Klik main dan anda akan melihat adegan statik untuk masa sekarang.

Kita boleh mengubahnya dengan mengklik sprite pemain kami dan melihat ke kanan ke tetingkap yang disebut 'pemeriksa'. Di sinilah kita menukar sifat untuk GameObjects kita.

Pilih 'Tambah Komponen' dan kemudian pilih 'Physics 2D> RigidBody2D'. Anda baru sahaja menambah fizik kepada pemain anda! Ini akan menjadi sangat sukar untuk kita lakukan sendiri dan benar-benar menyoroti kegunaan Perpaduan.

Kami juga ingin memperbetulkan orientasi kami untuk mengelakkan watak berputar dan berpusing-pusing. Cari 'kekangan' di inspektor dengan pemain yang dipilih dan tandakan kotak untuk membekukan putaran Z. Sekarang klik main semula dan anda harus mencari pemain anda sekarang jatuh dari langit kepada azab yang tak terhingga.

Luangkan masa untuk memikirkan betapa mudahnya ini: semata-mata dengan menggunakan skrip ini yang disebut 'RigidBody2D' kita mempunyai fizik yang berfungsi sepenuhnya. Sekiranya kita menggunakan skrip yang sama dengan bentuk bulat, ia juga akan melancarkan dan melantun. Bayangkan pengekodan diri sendiri dan bagaimana melibatkannya!

Untuk menghalang watak kami jatuh melalui lantai, anda perlu menambahkan collider. Ini pada dasarnya adalah bentuk padat bentuk. Untuk memohon itu, pilih pemain anda, klik 'Tambah Komponen' dan kali ini pilih 'Physics 2D> BoxCollider2D'.

Luangkan masa untuk memikirkan betapa mudahnya ini: semata-mata dengan menggunakan skrip ini yang disebut 'RigidBody2D' kita mempunyai fizik yang berfungsi sepenuhnya.

Lakukan perkara yang sama dengan platform, klik main dan kemudian watak anda harus jatuh ke tanah yang kukuh. Mudah!

Satu perkara lagi: untuk memastikan bahawa kamera mengikuti pemain kami sama ada mereka jatuh atau bergerak, kami mahu menyeret objek kamera yang ada di tempat kejadian (ini dibuat semasa anda memulakan projek baru) di atas pemain. Sekarang dalam hierarki (senarai GameObjects di sebelah kiri) anda akan menyeret kamera supaya ia diindentipkan di bawah pemain. Kamera kini merupakan 'anak' dari GameObject Player, yang bermaksud apabila pemain bergerak, begitu juga kamera.

Skrip pertama anda

Kami akan membuat pelari tak terhingga asas dan ini bermakna watak kita harus bergerak tepat di skrin sehingga mereka memukul halangan. Untuk itu, kita memerlukan skrip. Jadi klik kanan dalam folder Aset ke bahagian bawah dan buat folder baru yang dipanggil 'Skrip'. Sekarang klik kanan lagi dan pilih 'Create> C # Script'. Panggil ia 'PlayerControls'.

Untuk sebahagian besar skrip yang kami buat akan menentukan tingkah laku tertentu untuk GameObjects kami.

Sekarang klik dua kali pada skrip baru anda dan ia akan terbuka dalam Visual Studio jika anda menetapkan semuanya dengan betul.

Terdapat beberapa kod di sini, iaitu 'kod plat dandang'. Ini bermakna bahawa ia adalah kod yang anda perlu gunakan dalam hampir setiap skrip, jadi penduduknya siap untuk anda menjimatkan masa. Sekarang kita akan menambah objek baru dengan baris ini di atas void Start ():

awam Rigidbody2D rb;

Kemudian letakkan barisan seterusnya baris ini dalam kaedah Mula () untuk mencari orang tegar. Ini pada dasarnya memberitahu Unity untuk mencari fizik yang dilampirkan kepada GameObject bahawa skrip ini akan dikaitkan dengan (pemain kami tentu saja). Mula () adalah kaedah yang dilaksanakan sebaik sahaja objek atau skrip baru dibuat. Cari objek fizik:

rb = GetComponent();

Tambahkan ini di dalam Kemas Kini ():

rb.velocity = new Vector2 (3, rb.velocity.y);

Kemas kini () menyegarkan berulang kali dan oleh itu sebarang kod di sini akan berjalan berulang-ulang sehingga objek dimusnahkan. Ini semua mengatakan bahawa kita mahu tegar kita mempunyai vektor baru dengan kelajuan yang sama pada paksi y (rb.velocity.y) tetapi dengan kelajuan '3' pada paksi mendatar. Semasa anda maju, anda mungkin akan menggunakan 'FixedUpdate ()' pada masa akan datang.

Simpan itu dan kembali ke Perpaduan. Klik watak pemain anda dan kemudian di pemeriksa pilih Tambah Komponen> Skrip dan skrip baru anda. Klik mainkan, dan ledakan! Watak anda sekarang perlu bergerak ke arah pinggir tebing seperti lemming.

Nota: Jika ada yang mengelirukan ini, hanya menonton video untuk melihat semuanya selesai - ia akan membantu!

Input pemain yang sangat asas

Sekiranya kita mahu menambahkan ciri lompat, kita boleh melakukan ini dengan hanya satu kod tambahan:

jika (Input.GetMouseButtonDown (0)) {rb.velocity = new Vector2 (rb.velocity.x, 5); }

Ini masuk ke dalam kaedah Kemas Kini dan mengatakan bahawa 'jika pemain mengklik' maka tambah halaju pada paksi y (dengan nilai 5). Apabila kami menggunakan jika, apa-apa yang mengikuti di dalam kurungan digunakan sebagai ujian yang benar atau palsu. Jika logik di dalam menyatakan tanda kurung adalah benar, maka kod dalam kurungan lengkung berikut akan dijalankan. Dalam kes ini, jika pemain mengklik tetikus, halaju ditambah.

Android membaca klik tetikus kiri sambil mengetuk mana-mana sahaja di skrin! Jadi sekarang permainan anda mempunyai kawalan ketuk asas.

Mencari tapak kaki anda

Ini pada dasarnya cukup untuk membuat klon Flappy Birds. Buang beberapa halangan dan belajar bagaimana untuk menghancurkan pemain ketika menyentuh mereka. Tambah skor di atasnya.

Sekiranya anda mendapat ini, tiada cabaran akan menjadi terlalu besar pada masa akan datang

Tetapi kita mempunyai sedikit masa lagi supaya kita boleh mendapatkan lebih banyak bercita-cita tinggi dan membuat permainan jenis pelari tak terhingga sebaliknya. Satu-satunya perkara yang salah dengan apa yang kita ada pada masa ini adalah bahawa menoreh melompat akan melompat walaupun pemain tidak menyentuh lantai, jadi ia pada dasarnya boleh terbang.

Memulihkan ini mendapat sedikit lebih rumit tetapi ini kira-kira sama seperti Perpaduan. Sekiranya anda mendapat ini, tiada cabaran akan menjadi terlalu besar pada masa akan datang.

Tambahkan kod berikut ke skrip anda di atas kaedah Kemas Kini ():

awam Transform groundCheck; awam Transform startPosition; tanah apungan awamCheckRadius; awam LayerMask whatIsGround; bool peribadi onGround;

Tambahkan baris ini ke Kaedah kemas kini di atas pernyataan jika:

onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

Akhir sekali, ubah baris berikut supaya ia termasuk && onGround:

jika (Input.GetMouseButtonDown (0) && onGround) {

Seluruh perkara sepatutnya seperti ini:

pemain awam PlayerControls: MonoBehaviour {public Rigidbody2D rb; awam Transform groundCheck; awam Transform startPosition; tanah apungan awamCheckRadius; awam LayerMask whatIsGround; bool peribadi onGround; tidak sah Mula () {rb = GetComponent(); void Update () {rb.velocity = new Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); jika (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = new Vector2 (rb.velocity.x, 5); }}}

Apa yang kita lakukan di sini ialah mewujudkan transformasi baru - kedudukan dalam ruang - maka kita menetapkan radiusnya dan bertanya sama ada ia bertindih lapisan yang dipanggil tanah. Kami kemudian menukar nilai Boolean (yang boleh benar atau palsu) bergantung kepada sama ada atau tidak itu berlaku.

Jadi, diGround benar jika transformasi yang disebut groundCheck bertindih lapisan lapisan.

Sekiranya anda mengklik simpan dan kemudian kembali ke Perpaduan, kini anda akan melihat bahawa anda mempunyai lebih banyak pilihan yang tersedia di inspektor anda apabila anda memilih pemain. Pembolehubah awam ini dapat dilihat dari dalam Perpaduan sendiri dan itu bermakna kita boleh menetapkannya tetapi kita suka.

Klik kanan dalam hierarki ke atas di sebelah kiri untuk membuat objek kosong baru dan kemudian seretnya supaya hanya di bawah pemain di tetingkap Scene di mana anda ingin mengesan lantai. Ubah nama objek 'Semak Ground' dan kemudian menjadikannya anak pemain seperti yang anda lakukan dengan kamera. Kini ia harus mengikuti pemain, memeriksa lantai di bawah seperti yang dilakukannya.

Pilih pemain sekali lagi dan, dalam pemeriksa, seret objek Semak Ground baru ke ruang di mana ia mengatakan 'groundCheck'. 'Transform' (posisi) sekarang akan sama dengan kedudukan objek baru. Semasa berada di sini, masukkan 0.1 di mana ia menyatakan jejari.

Akhirnya, kita perlu menentukan lapisan 'tanah' kita. Untuk melakukan ini, pilih medan yang anda buat sebelum ini, kemudian di bahagian atas kanan pemeriksa, cari tempat ia mengatakan 'Layer: Default'. Klik kotak drop down ini dan pilih 'Tambah Lapisan'.

Sekarang klik semula dan kali ini pilih 'ground' sebagai lapisan untuk platform anda (ulangi ini untuk mana-mana platform lain yang anda telah terapung). Akhirnya, di mana ia mengatakan 'Apa Ground' pada pemain anda, pilih lapisan tanah juga.

Anda kini memberitahu skrip pemain anda untuk memeriksa sama ada titik kecil pada skrin adalah bertindih apa-apa padanan lapisan itu. Terima kasih kepada baris yang kami tambah sebelum ini, watak itu akan hanya melompat apabila itu berlaku.

Dan dengan itu, jika anda memukul main, anda boleh menikmati permainan yang cukup asas yang memerlukan anda klik untuk melompat pada waktu yang tepat.

Dengan itu, jika anda memukul main anda boleh menikmati permainan yang cukup mendasar yang memerlukan anda klik untuk melompat pada waktu yang tepat. Jika anda menetapkan Perpaduan anda dengan betul dengan SDK Android, maka anda harus dapat membina dan menjalankan ini dan kemudian bermain pada telefon pintar anda dengan mengetuk skrin untuk melompat.

Jalan depan

Jelas sekali ada yang lebih banyak untuk menambah permainan ini. Pemain harus dapat mati dan respawn. Kami mahu menambah tahap tambahan dan banyak lagi.

Matlamat saya di sini adalah untuk menunjukkan kepada anda betapa cepatnya anda dapat mendapatkan sesuatu asas dan berjalan. Mengikuti arahan ini, anda sepatutnya dapat membina pelari tak terhingga anda dalam masa yang singkat hanya dengan membiarkan Unity mengendalikan hal-hal yang keras, seperti fizik.

Jika anda tahu apa yang anda ingin bina dan lakukan penyelidikan anda, anda tidak perlu menjadi ahli kod pengekod untuk membuat permainan yang baik!

Pada 10 Julai, Google akan mengubah cara kerja Google Photo dan Google Drive.Folder Google Foto dalam Drive tidak akan lagi elara dengan Foto Google ecara automatik.Fail emaa anda akan kekal utuh, tet...

Lenovo telah melancarkan prototaip ... euatu PC. Ia tidak mempunyai nama, namun ia adalah ejeni ThinkPad X1. yarikat itu tidak memanggilnya ebagai komputer riba, ebaliknya memanggilnya dilipat....

Maklumat Lanjut