Cara menangani bagian pendaratan dengan benar dalam animasi lompat

16

Lihatlah lembar sprite ini.

Megaman

Jelaslah bahwa frame 1-3 adalah frame "lompat ke atas" setelah frame terakhir akan diperbaiki sampai "puncak" lompatan (ketika gravitasi mulai menarik kembali). Ketika bergerak kembali ke bawah frame 4-7 digunakan dan semuanya berakhir dengan bingkai "idle" (yang tidak ditampilkan di sini dalam lompatan lompatan ini).

Pertanyaan saya adalah tentang frame 6 dan 7 dalam sprite ini. Ketika entitas "mendarat" setelah melompat ia seharusnya menjalankan animasi 6-7 sebagai animasi "pendaratan". Ketika bergerak turun dalam bingkai lompat 4-5 mudah karena mereka adalah "awal" dari animasi. Frame 5 dapat disimpan selama Anda jatuh ... tapi apa cara yang tepat untuk beralih dari frame 5 ke 6-7-x? Apakah Anda memeriksa apakah frame setelah jatuh berikutnya dan kemudian "memulai" pendaratan atau apakah Anda melakukannya ketika Anda benar-benar menyentuh tanah?

Itu tidak dapat diatur waktunya karena berbagai skenario seperti melompat dari tebing atau melompat di bawah atap yang rendah memukul kepala Anda dan memantulkan Anda kembali.

Ada ide?

sPirc
sumber

Jawaban:

17

Saya kira pendekatan yang biasa adalah memiliki tiga kondisi terkait lompat : Melompat (pahlawan naik ke titik lompatan tertinggi), Jatuh (dari titik lompat tertinggi ke tanah), Mendarat (lompat berakhir dengan pahlawan berdiri di tanah ).

Ada beberapa cara untuk mendeteksi keadaan ini, biasanya ini adalah beberapa pemeriksaan tabrakan pengaturan bendera negara. Misalnya, dalam langkah fisika karakter kita dapat memeriksa tabrakan di bawah ini, dan jika tidak ada, maka karakter ada di udara. Sekarang jika karakter memiliki kecepatan vertikal positif, itu adalah status Jumping , jika tidak, itu adalah status Falling . Jika itu adalah status Jatuh , dan kami mendeteksi tabrakan di bawah ini, maka itu bukan status Pendaratan , jadi mari kita beralih ke animasi pendaratan.

Animasi ini biasanya dimainkan ketika pahlawan benar-benar menyentuh tanah. Urutan animasi pendek, sehingga pendaratan akan terlihat berkecepatan tinggi, juga menciptakan perasaan kontrol yang tajam dan tepat. Kadang-kadang karakter dapat melakukan urutan pendaratan yang panjang, tetapi kemudian mungkin bagi karakter untuk membatalkan animasi pendaratan dan mulai berjalan, misalnya Castlevania: SotN.

Cukup
sumber
+1. Poin bagus tentang negara. Dari status Anda dapat mengetahui detail / mode lainnya.
Kromster mengatakan mendukung Monica
5

Saya telah melihat ini melakukan dua cara:

  1. Ketika kotak berlari pertama kali bertabrakan dengan tanah, buatlah transisi cepat 5-> 6-> 7.
  2. Memiliki kotak 'hantu' pembatas kedua, yang memanjang sebagian kecil di bawah kotak pembatas yang sebenarnya untuk memulai 5-> 6, kemudian pada kotak pembatas yang sebenarnya bertabrakan lakukan 6-> 7.
Adrian Seeley
sumber
Menyukai case ke-2. Tampaknya sangat fleksibel karena kotak pembatas hantu dapat diatur jauh tergantung pada kecepatan karakter!
pek
Pendekatan menarik Nbr 2. Saya tidak pernah mencobanya tetapi saya akan tetap mengingatnya terima kasih.
sPirc