Pada bagian ini, kita akan membuat beberapa animasi berbeda (seperti berjalan, berlari, melompat, diam, dan mati) dari satu sprite sheet.
Buat sprite sheet dinofull.png menggunakan TexturePacker dengan ukuran 4096, yang berisi semua animasi karakter pemain. Tambahkan sprite sheet dinofull.png ke dalam project sprite_07 di pubspec.yaml
Buatlah sebuah komponen baru, yang diturunkan dari class SpriteAnimationComponent, yang berisi semua animasi dino (idle, run, walk, jump, dead). Simpan dengan nama player_sprite_sheet_component_animation_full.dart seperti di bawah ini:
Pastikan isi dari file main.dart sudah menjalankan class yang barus saja dibuat. Kemudian coba jalankan project sprite_07
Jika ingin mengganti animasi, cukup ubah properti animation. Misalnya:
animation = jumpAnimation;
Cobalah untuk mengganti animasi yang dijalankan pada project sprite_07, menjadi dead / idle / jump / run / walk. Setelah mengganti menjadi salah satu animasi, jalankan ulang project menggunakan hot reload. Pastikan semua animasi bisa berjalan dengan baik.
Upload project sprite_06 dan sprite_07, ke dalam github, kirimkan link repository project tersebut ke classroom MPP XII RPL (link classroom ada di bawah, atau join menggunakan kode jcms52gr).
Dengan menggunakan satu sprite sheet, kita bisa membuat banyak animasi berbeda. Caranya adalah:
Definisikan animasi dengan createAnimationByLimit(), fungsi tambahan untuk membuat animasi dari sprite sheet.
Simpan animasi dalam variabel berbeda (idle, run, walk, jump, dead).
Ubah properti animation untuk mengganti animasi karakter.
Ini adalah salah satu aspek terpenting dalam penggunaan animasi sprite di Flame. Pastikan Anda memahami bagaimana cara memuat sprite ke dalam project, dan bagaimana membuat animasi dari spread sheet, sebelum masuk ke materi selanjutnya (input pada game).