Bagaimana saya bisa menggambar sprite di Unity 5 secara terprogram? Saya mencari sesuatu yang mirip spriteBatch.Draw()
di XNA. Hasil yang saya dapatkan ketika saya mencari tentang itu adalah usang http://wiki.unity3d.com/index.php?title=SpriteManager (ini ditulis pada 2012), atau mereka selesai menggunakan antarmuka unity. Yang bisa saya temukan adalah Sprite
kelas di UnityEngine.dll. Apakah ini yang saya butuhkan? Bagaimana cara menggambarnya? Saya benar-benar tidak mengerti.
8
Sprite
dan kemudianSpriteRenderer
tetapi saya tidak tahu cara mengatur gambar ke sprite.Sprite
objek tampaknya bahkan tidak memiliki properti untuk mengatur gambar. hal terdekat yang saya lihat adalah sprite.texture yang hanya bisa dibaca ... sebenarnya setiap properti dari sprite hanya bacaJawaban:
Unity tidak memiliki rendering "direct mode" seperti ini, Anda tidak akan memanggil
Draw
loop pembaruan apa pun untuk Unity.Di Unity Anda perlu membuat objek game, lalu lampirkan skrip ke objek game itu. Skrip-skrip tersebut akan mengontrol bagaimana objek berperilaku, jika dan bagaimana itu ditampilkan di layar, jika itu bagian dari sistem fisika dll.
Untuk membuat sprite baru untuk menggambar di layar Anda harus membuat objek game baru, lalu lampirkan skrip SpriteRenderer ke sana dan atur sprite-nya.
Ini mengasumsikan struktur direktori
Sebagai contoh:
Maka Anda akan memiliki skrip yang berbeda untuk mengubah posisi, rotasi dll, tergantung bagaimana Anda ingin itu berperilaku.
Cara termudah untuk menyelesaikan semua ini tanpa harus menulis kode sebanyak mungkin? Buat objek game di editor Unity terlebih dahulu. Setelah objek permainan dilengkapi dengan sprite yang Anda inginkan dan skrip perilaku dan semua itu. Seret dan jatuhkan ke direktori sumber daya. Ini menciptakan cetakan. Cetakan rumah persis seperti apa itu, pra-fabrikasi. Mereka adalah objek yang lengkap yang dapat Anda referensi dan buat dengan cepat.
Anda akan membuat yang seperti:
Ini akan menghasilkan klon dari cetakan yang Anda buat sebelumnya. Jadi, jika misalnya, Anda memberi prefab Anda perilaku bergerak ke arah pemain dan menyerang, setiap kali Anda menelurkan prefab baru dari jenis itu, mereka akan mulai bergerak ke arah pemain dan menyerang. Skrip yang Anda hanya perlu menulis sekali mengontrol semua objek game itu.
Saya pikir perbedaan utama yang Anda lihat di sini adalah penggunaan komponen yang berat. Yang kemungkinan besar belum Anda lihat di mesin game lain seperti XNA. Unity benar-benar adalah mesin yang kuat, tetapi frustrasi Anda berasal dari mencoba menggunakannya seperti mesin lain, ketika itu tidak seperti mesin lainnya. Lihat profil saya untuk beberapa pelatihan, saya menambahkan tautan untuk uji coba gratis sehingga Anda tidak perlu membayar.
sumber