Saat ini saya sedang membuat penembak top-down seperti Touhou. Faktor terpenting dari gim ini adalah bahwa ada banyak pola dan cara peluru dihasilkan dan ditembakkan pada pemain, lihat video ini: http://www.youtube.com/watch?v=4Nb5Ohbt1Sg#start=0 : 60; end = 9: 53 ;
Saat ini, saya menggunakan kelas "Pola" yang memiliki serangkaian langkah untuk bergerak dan menembak. Namun, saya merasa metode ini cukup sulit karena saya harus membuat Pola baru untuk setiap serangan dan mungkin kelas Bullet baru yang akan menerapkan perilaku tertentu.
Pertanyaan ini menerima komentar yang menyarankan saya harus melihat ke BulletML untuk memudahkan pembuatan dan penyimpanan peluru dengan pola tertentu. Kelihatannya layak, tetapi itu membuat saya bertanya-tanya, solusi apa lagi yang Anda miliki yang harus saya pertimbangkan?
Memperbarui
Desain saya saat ini adalah sebagai berikut:
Contoh pola yang diterapkan:
GigasPattern saya pertama kali mengeksekusi sebuah teleportasi yang memindahkan Alice ke titik tertentu (X, Y) di layar. Setelah ini selesai, pola mulai menggunakan Mover untuk memindahkan sprite (sedangkan teleportasi memiliki efek dan animasi terpisah). Ini bukan masalah, sungguh, karena cukup sederhana.
Shooter juga menciptakan berbagai Serangan, yang merupakan kelas lagi yang dapat digunakan Shooter untuk membuat berbagai pola peluru, seperti yang ada dalam pertanyaan yang saya posting. Setelah Penggerak mencapai tujuannya, baik penembak berhenti dan kembali ke keadaan tidak aktif. Pola selesai, dihapus oleh AI dan yang baru akan dipilih.
Mungkin Anda bisa menerapkan bahasa skrip kecil sendiri untuk gim Anda. Maka Anda akan dapat menuliskan perilaku bullet dengan hanya menambahkan skrip baru. Keuntungan dari bahasa skrip sendiri adalah Anda bisa menggunakannya di bagian lain gim Anda. Atau Anda bisa mencoba menggunakan Lua (saya tidak tahu bahasa / kerangka apa yang Anda gunakan). Tapi menurut saya, Lua akan berlebihan jika Anda hanya ingin memiliki pola movin.
Antara: Aku sudah melakukan ini untuk penembak ruang, tetapi untuk perilaku musuh. Ini bekerja dengan baik, jadi Anda benar-benar bisa mencobanya.
sumber
Saya berada dalam situasi yang persis sama beberapa waktu lalu dan mulai menerapkan arsitektur saya sendiri untuk pola-pola peluru. Saya menyerah, karena saya menemukan implementasi BulletML untuk C # / XNA: BulletML C #
Saya harus membuat beberapa perubahan, tetapi sekarang menciptakan pola yang terlihat spektakuler benar-benar sangat mudah. Ada demo hebat di sini yang menunjukkan kepada Anda caranya, beberapa baris XML, dapat membuat pola yang mengagumkan.
Jika Anda bekerja pada C #, saya sangat menyarankan menghindari menciptakan kembali roda. Apalagi jika ingin memiliki pola yang sangat kompleks. Mungkin perlu beberapa waktu untuk membungkus kepala Anda di sekitar BulletML, tetapi, menurut saya, itu sepadan dengan waktu Anda.
Namun, jika Anda memutuskan untuk tidak menggunakan BulletML, maka, paling tidak, lihat kode C # dan dapatkan gagasan tentang arsitekturnya. Mungkin memberi Anda beberapa ide.
sumber