Настінний стрибок для платформи 2D


14

Я шукав спосіб здійснити стрибок на стіну в моїй грі xna, але я не можу знайти про це ніякої інформації, може хтось може мені хтось допомогти?

Відповіді:


21

Коли гравець зіштовхується зі стіною під час стрибків (або, якщо вам подобається, падає), увімкніть прапор протягом наступних 100 мілісекунд або близько того, що спричиняє спробу стрибку, щоб успішно ініціювати стрибок (ігноруючи будь-які перевірки контакту поверхні) за допомогою велика швидкість на осі X у напрямку від стіни. Не забудьте вимкнути прапор рано, якщо стрибок насправді ініційований.


3
Я думаю, вам потрібно змінити перше речення: "Коли гравець зіштовхується зі стіною (поки він стрибає) ..." інакше гравець міг би перестрибнути стіну з нерухомого на землю поруч із стіною, чого не було б очікуваний.
CiscoIPPhone

@CiscoIPPhone: Так, дякую. Це призведе до дивної зміни поведінки між 100 мс після зіткнення і пізніше.
хаос

2

Я, чесно кажучи, щойно зробив точку перевірки. Так:

if (falling AND left_key_pressed AND !point_free(x-1,y))
    doWallJump

Ви можете змінити y, щоб сказати y + sprite_width / 2 (або - залежно від вашої системи координат), щоб він перевіряв ліворуч від середини спрайт замість верхнього (або нижнього). Ось так N здійснює перевірку стін на стрибки на стіні (останній абзац) .

Після цього ви повинні вирішити, наскільки щільно ви хочете, щоб ваша стіна стрибала. Якщо вертикальна швидкість вашого стрибка подолає горизонтальну, перш ніж гравець зможе знову досягти тієї самої стіни, ви не зможете стіни стрибати вгору по тій самій стіні і поступово опуститься назад на дно (як в іграх Маріо зі стрибками на стіну ). Якщо ви дозволите, щоб горизонталь була досить слабкою, щоб гравець повернувся до стіни, він / вона зможе просуватися вгору по стіні (як у Meat Boy).

Ще один підхід, який не згадується, - це Super Metroid. У тій грі, коли ви знаходитесь біля стіни, якщо ви відсунетесь від цієї стіни, буде грати дуже коротка анімація, що «відходить від стіни». Якщо ви скачете під час цієї анімації, ви зробите стрибок на стіні. (Super Metroid також дозволяє гравцеві піднятися на стіну за допомогою стрибків на стіні, але для цього потрібно трохи навичок (адже все, що стосується стрибків на стіні в Super Metroid, вимагає неабиякої майстерності ...).)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.