Rumah >Peranti teknologi >industri IT >Revolusi Retro: Membina Klon Pong dalam Perpaduan
Sebelum anda memulakan, anda boleh melihat permainan di gatal.io
mata teras
analisis permainan pong
Pong adalah salah satu permainan video terawal dan permainan komersil yang pertama berjaya. Apabila Pong pertama kali dicipta, kemungkinan besar pemaju mempunyai masa yang sukar dengan logik kod, tetapi pada masa kini, anda boleh membuat permainan Pong dua pemain yang mudah dengan panggilan kaedah, collider, dan sprite. Sebaik sahaja anda membuat keputusan untuk membuat permainan pemain pong tunggal, kesukaran membuat Pong akan meningkat. Dalam tutorial ini, kami akan membuat permainan asas Pong dan memecahkan alternatif AI yang sangat mudah yang masih menambah nilai permainan.kita mesti bertanya, apakah elemen teras permainan pong? Berikut adalah senarai jawapan kepada soalan ini:
Dengan senarai ini, kita boleh mula menulis program permainan.
Sila ambil perhatian bahawa mana -mana nombor yang berkaitan dengan kedudukan, putaran, zum, dan lain -lain objek permainan adalah relatif dan mungkin perlu diubah mengikut tetapan khusus anda.
Tetapkan permainan
Sekarang kita telah menganalisis prinsip asas Pong, kita boleh mula menubuhkan permainan. Buka perpaduan dan buat projek 2D baru. Setelah editor dibuka, tetapkan nisbah aspek skrin permainan ke 4: 3. Kami menggunakan 4: 3 kerana ini adalah salah satu nisbah skrin yang paling biasa dan merupakan salah satu yang paling dekat dengan nisbah standard. Dalam panel Sumber, buat empat folder yang dipanggil skrip, sprite, prefabs, dan bahan. Folder ini akan digunakan untuk menyelamatkan semua sumber permainan kami.
mari kita tetapkan unit persegi setiap piksel hingga 64 dan unit bulatan per piksel hingga 128. Kita boleh terus menambah tiga imej ini ke panel hierarki.
Sekarang kita perlu menamakan setiap sumber dan menetapkan sifat dan label awal mereka. Anda boleh menamakan blok biru "pemain" dan menetapkan kedudukan X pemain kepada 6 dan nisbah X-scalingnya kepada 0.2.
kita perlu membuat tag untuk memisahkan objek permainan raket dari objek permainan yang lain. Secara umum, anda boleh memikirkan tag sebagai kategori objek permainan. Klik Untagged (di bawah nama pemain) dan pilih Tambah Tag. Buat tag baru yang dipanggil "Paddle", pilih Objek Permainan Pemain dan tetapkan tagnya ke Paddle.
Namakan blok merah "musuh". Tetapkan kedudukan X musuh ke -6 dan nisbah X -skalingnya kepada 0.2. Buat label Objek Permainan musuh.
Namakan lingkaran kelabu "bola" dan buat label baru yang dipanggil "Ball". Pastikan untuk menetapkan label objek bola ke bola.
(Langkah -langkah berikut hanya disediakan dengan gambaran keseluruhan langkah -langkah dan coretan kod utama kerana batasan ruang. Sila rujuk teks asal atau tambahnya secara terperinci)
Tambah Input Pemain
Buat skrip C# yang dipanggil "PlayerController" dan tambahkan kod berikut (mengawal pergerakan raket pemain):
<code class="language-csharp">public float speed = 10; public float topBound = 4.5F; public float bottomBound = -4.5F; void FixedUpdate () { float movementSpeedY = speed * Input.GetAxis("Vertical") * Time.deltaTime; transform.Translate(0, movementSpeedY, 0); // ... (边界限制代码) }</code>
perlanggaran bola
Buat bahan Physics2D yang dipanggil "Bounce", tetapkan keanjalannya kepada 1 dan geseran kepada 0. Tambah Circle Collider 2D dan Rigidbody 2D ke objek permainan bola dan tetapkan bahan itu kepada "Bounce".
Perlanggaran sempadan
Buat empat objek permainan kosong sebagai sempadan (leftbound, kanan, topbound, bottombound), tambah kotak collider 2D dan tetapkan sifatnya. Buat skrip yang dipanggil "BoundController" yang mengesan bola berlanggar dengan sempadan dan memusnahkan bola.
musuh ai
Buat skrip yang dipanggil "Enemycontroller" yang mengawal pergerakan raket musuh supaya ia mengikuti bola.
<code class="language-csharp">public float speed = 1.75F; Transform ball; Rigidbody2D ballRig2D; void FixedUpdate () { ball = GameObject.FindGameObjectWithTag("Ball").transform; ballRig2D = ball.GetComponent<rigidbody2d>(); // ... (根据球的位置移动敌人的代码) }</rigidbody2d></code>
Menjana bola
Buat objek permainan kosong "Ballspawner" dan buat skrip yang dipanggil "BallspawnerController" untuk menjana semula bola apabila ia hilang.
Tambah teks asas
Buat objek teks UI untuk memaparkan keterangan permainan.
Kesimpulan
Anda kini telah berjaya mencipta klon pong pemain tunggal di Unity2D. Untuk amalan lebih lanjut, cuba memikirkan cara untuk memperbaiki permainan -contohnya, menambah pecutan ke bola (semakin mencecah bola, semakin cepat bola itu), menambah inersia ke raket, menambah tahap kesukaran dengan meningkatkan kelajuan Musuh, dan sebagainya.
(bahagian Soalan Lazim ditinggalkan di sini kerana panjang artikel. Teks asal telah memasukkan jawapan FAQ terperinci)
Atas ialah kandungan terperinci Revolusi Retro: Membina Klon Pong dalam Perpaduan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!