Saya telah mencari cara untuk mengimplementasikan wall-jump di game xna saya, tetapi saya tidak dapat menemukan informasi tentang hal itu, dapatkah seseorang membantu seseorang?
xna
2d
c#
platformer
dbomb101
sumber
sumber
Jujur saya baru saja melakukan pemeriksaan titik. Begitu:
Anda mungkin ingin mengubah y untuk mengatakan y + sprite_width / 2 (atau - tergantung pada sistem koordinat Anda) sehingga ia memeriksa ke kiri tengah sprite Anda, bukan bagian atas (atau bawah). Ini adalah bagaimana N mengimplementasikan pemeriksaan dinding untuk melompat dinding (paragraf terakhir) .
Setelah itu Anda harus memutuskan seberapa ketat Anda ingin dinding Anda melompat. Jika kecepatan vertikal lompatan Anda melampaui horizontal sebelum pemain dapat mencapai dinding yang sama lagi, Anda tidak akan dapat melompat ke dinding yang sama dan secara bertahap akan jatuh kembali ke bawah (seperti dalam game Mario dengan lompat dinding ). Jika Anda membiarkan horisontal menjadi cukup lemah bagi pemain untuk kembali ke dinding, ia akan dapat naik ke atas dinding (seperti pada Meat Boy).
Pendekatan lain yang tidak disebutkan adalah Super Metroid. Dalam gim itu saat Anda melawan dinding, jika Anda bergerak dari dinding itu, sebuah animasi "pindah dinding" yang sangat singkat akan dimainkan. Jika Anda melompat selama animasi itu, Anda akan melakukan lompatan dinding. (Super Metroid juga memungkinkan pemain untuk memanjat dinding menggunakan lompatan dinding, tetapi membutuhkan sedikit keterampilan (pada kenyataannya segala sesuatu tentang melompat dinding di Super Metroid membutuhkan sedikit keterampilan ...).)
sumber