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

Membangun Game Pesawat dengan Sprite Kit - Musuh & Emitor

Difficulty:BeginnerLength:MediumLanguages:

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

Tutorial ini akan mengajari Anda cara menggunakan kerangka Kit Sprite untuk membuat game Pesawat terbang sederhana. Sepanjang jalan, Anda akan mempelajari semua konsep inti dari Sprite Kit: animasi, emitor, deteksi tabrakan, dan banyak lagi!


Series Format

Tutorial Airplanes akan dibagi menjadi tiga bagian agar benar-benar mencakup setiap bagian. Setelah membaca tiga bagian tutorial, para pembaca akan dapat membuat game 2D yang menarik menggunakan kerangka Kit Sprite baru yang disediakan dengan iOS 7.

Setiap bagian akan menghasilkan hasil yang praktis, dan jumlah dari semua bagian akan menghasilkan pertandingan final. Sementara setiap bagian dari seri dapat dibaca secara mandiri, sebaiknya mengikuti langkah demi langkah untuk melengkapi pemahaman tentang topik yang disajikan. Kode sumber untuk permainan disediakan secara bertahap dengan setiap posting.


Pratinjau Akhir

Figure 1 Final ResultFigure 1 Final ResultFigure 1 Final Result

Ilustrasi Hasil Akhir - Sprite Kit.

Di mana Kami Meninggalkan ...

Selamat datang kembali ke bagian kedua dari permainan Airplanes kami dengan Sprite Kit. Dalam tutorial hari ini, Anda akan memprogram satu emitor yang akan membentuk jejak asap dari pesawat terbang. Bagian tutorial ini berfokus pada beberapa hal seperti gerakan, sentuhan, dan sebagainya, tetapi kami akan menjelaskan semuanya lebih jauh di bawah. Jika Anda belum menyelesaikan Bagian 1 dari seri ini, Anda dapat mengunduh proyek dari part 1 dan mengambil secara persis di tempat dimana kami tinggalkan..


1. Menambahkan jejak asap

Partikel digunakan untuk mencapai berbagai jenis efek seperti api, asap, sihir, hujan, salju, atau air terjun. Dalam hal ini, kami akan menggunakannya untuk membuat jejak asap untuk pesawat Anda. Partikel akan tetap aktif selama durasi dari permainan.

Untungnya, Xcode 5 memperkenalkan Emitter Editor sebagai fitur bawaan. Ini adalah alat yang sangat berguna dan akan memungkinkan kita untuk dengan mudah mengedit properti seperti tekstur partikel, warna latar belakang, partikel kelahiran, partikel maksimum, masa pakai, posisi, jangkauan, sudut, kecepatan, percepatan, skala, rotasi, dan banyak lagi. Secara default, Xcode 5 juga menyediakan beberapa Emitor siap pakai yang siap digunakan. Jadi, mari kita mulai dan menambahkan satu emitor ke permainan kami.

Gambar-gambar partikel yang diperlukan tersedia dalam folder Sumber Daya dari unduhan yang terlampir.

Untuk menambahkan satu emitor ke game Anda, Anda harus pergi ke File> New> File .. Anda akan melihat sesuatu seperti gambar berikut:

Figure 1 Creating SpriteKit Emitter FileFigure 1 Creating SpriteKit Emitter FileFigure 1 Creating SpriteKit Emitter File

Ilustrasi Penciptaan SpriteKit Emitter File (Xcode).

Pilih opsi iOS > Resource and SpriteKit Particle File (seperti pada gambar yang disebutkan sebelumnya). Klik Next. Sekarang, Anda akan ditanya template apa yang ingin Anda gunakan. Itu ada 8 template berbeda yang tersedia. Pilih templat asap dan klik Next, kemudian beri nama (kami beri nama "trail" kami) dan klik Create. Xcode akan menambahkan dua file baru ke proyek Anda (trail.sks dan spark.png). Anda perlu mengubah jumlah partikel, tekstur, kisaran posisi, sudut, dan skala untuk hasil terbaik. Lihatlah konfigurasi kami:

Figure 2 Emitter properties

Ilustrasi dari Emitter Properties (Xcode).

Sekarang, mari tambahkan asap ke pesawat kita

Dalam MyScene.h, tambahkan properti jejak asap:

Pada akhir dari if (self = [super initWithSize: size]) bersyarat di MyScene.m, tambahkan potongan berikut:

Tentu saja, ketika pesawat bergerak, jejak harus bergerak juga. Pada akhir dari metode - (void) pembaruan: (NSTimeInterval)currentTim, tambahkan baris ini:

Bangun dan jalankan proyek dan jika semuanya berjalan lancar, itu akan menjadi luar biasa!

Anda akan melihat sesuatu seperti berikut:

Figure 3 Emitter propertiesFigure 3 Emitter propertiesFigure 3 Emitter properties

Ilustrasi dari Emitter Properties (Xcode).

2. Tambah & Pindahkan Musuh

Sejauh ini, Anda hanya memiliki pesawat yang bergerak di sekitar layar. Tapi kesenangan dimulai ketika lebih banyak pesawat tersedia. Jadi, mari tambahkan beberapa pesawat musuh!

Anda tidak hanya perlu membuat musuh, tetapi Anda juga perlu menentukan jalur acak untuk masing-masing untuk mensimulasikan medan perang yang nyata. Untuk mencapai ini, Anda akan menggunakan tindakan followPath. Anda akan membuat jalur acak (dengan CGPath) dan kemudian setiap musuh akan bergerak melewati jalur itu.

Satu metode hebat yang harus kami lakukan dengan Cocos2D adalah schedule: interval:. Sayangnya, Apple tidak menambahkan metode serupa ke Sprite Kit, tetapi mudah untuk membuat yang serupa menggunakan SKActions. Untuk mencapai jadwal ini, kita perlu membuat panggilan SKAction untuk metode waitForDuration. Setelah itu, kita akan membuat SKAction yang dapat menjalankan blok dan menggunakannya untuk memanggil metode yang menambahkan musuh. Kemudian, kita akan menempatkan dua tindakan ini secara berurutan dan hanya mengatakan untuk mengulanginya dari waktu ke waktu.

Untuk membuat ulang penjelasan, Anda hanya perlu cuplikan berikut. Tambahkan ke akhir jika kondisional if (self = [super initWithSize: size] ):

Cukup mudah? Jika Anda memiliki pertanyaan, jangan ragu untuk bertanya di bagian komentar.

Sekarang Anda harus menambahkan metode yang menciptakan jalur gerakan untuk diikuti musuh. Kami memilih untuk menggunakan CGPathAddCurveToPoint, karena metode ini membuat kurva Bézier dengan dua titik kontrol. Gambar berikut menjelaskan cara kerjanya:

Figure 3 Bezier Curve

Ilustrasi Bézier Curve Creation (Xcode).

Jadi, Anda perlu menambahkan kode berikut ke file MyScene.m kami:

Metode enemiesAndClouds hanya menambahkan Musuh untuk saat ini. Kami akan menunggu untuk menambahkan awan di bagian ketiga dan terakhir dari seri ini.

Inti dari metode ini adalah menghasilkan nilai acak. Pertama, ia akan memutuskan jika satu musuh baru akan dibebaskan, maka ia menciptakan posisinya. Setelah itu, ia menciptakan titik kontrol musuh, dan akhirnya, tindakan dibuat.

Ketika kita menambahkan atau menghapus sprite ke layar, kita perlu memastikan alokasi memori dan dealokasi diperlakukan dengan hati-hati dan sukses. Tindakan removeFromParent menangani ini untuk kami.

Sekarang, bangun dan jalankan proyek dan saksikan ketika musuh mulai muncul di layar.

Figure 3 EnemiesFigure 3 EnemiesFigure 3 Enemies

Ilustrasi musuh (Xcode).

3. Buat Peluru Pesawat

Untuk membuat permainan itu menyenangkan, musuh kita harus bisa dihancurkan. Anda akan menambahkan beberapa peluru ke pesawat Anda untuk mencapai ini. Untuk melakukan ini, kita perlu melakukan hal-hal berikut:

  • Dapatkan posisi pesawat saat ini
  • Buat sprite peluru.
  • Buat aksi untuk memindahkan peluru
  • Buat aksi untuk menghapus peluru
  • Tambahkan peluru pada Layar

Ganti metode TouchBegan dengan cuplikan berikut:

Bangun dan jalankan proyek Anda. Jika Anda ingin menembakkan peluru, Anda hanya perlu mengetuk layar!


Kesimpulan

Anda telah mencapai akhir dari tutorial kedua dalam seri kami.

Pada titik ini, Anda harus memahami dan dapat melakukan tugas-tugas berikut:

  • Membuat sebuah emitor
  • Tambahkan peluru ke sprite
  • Buat jalur bézier untuk gerakan sprite

Ikuti terus edisi berikutnya, di mana kami akan terus membangun game pesawat kami!


Ucapan Terimakasih & Rekomendasi

Kami ingin mengucapkan terima kasih kepada Daniel Ferenčak karena telah menyediakan kami dengan seni permainan yang digunakan untuk memproduksi seri tutorial ini.

Untuk sepenuhnya menghargai seri tutorial, kami menyarankan Anda menguji kode kami dengan menerapkannya ke perangkat nyata yang menjalankan iOS 7. Anda akan memerlukan Xcode 5 dan iOS 7 SDK terbaru. Jika Anda belum memiliki alat ini, Anda dapat mengunduhnya dari Pusat Pengembang Apple. Setelah diunduh, instal perangkat lunak dan Anda akan siap untuk memulai.

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.