![]() |
Как сделать прыжок?
как сделать затяжной прыжок для платформера????:dontknow:
|
Ответ: Подскажите
как обычный но только дольше...
|
Ответ: Подскажите
а как обычный сделать?
|
Ответ: Подскажите
если есть под ногами земля то прыгнуть, прибавлять Y пока он не будет больше чем высота прыжка, если такое случилось убавлять Y пока не случится столкновение с землей, выключить прыжок.
|
Ответ: Подскажите
спс доперло
|
Ответ: Подскажите
я бы предложил сделать ускорение наверх...
если ускорение равно нулю и нажато прыгать, то ускорение равно 10 если ускорение больше нуля, то ускорение равно ускорение минус 1 (замедление) если снизу пол, то ускорение равно 0 позиция х равно позиция х плюс ускорение деленное на 2 :) |
Ответ: Подскажите
да, и можно до бесконечности прыгать...
|
Ответ: Подскажите
флуд?
|
Ответ: Подскажите
а нет, нелзя ))) - но твой алгоритм всёравно запареннее.
|
Ответ: Подскажите
а у тебя прыжок на уровне mario bros. alpha на втором часу разработки
|
Ответ: Подскажите
эмм, у меня почти "стандарт", а у тебя уже переделка - которая по сути ненужна потомучто делает всё тоже.
|
Ответ: Подскажите
Цитата:
Саб тож чот мудрёно написал. На самом деле всё делается на основе элементарных принципов раздела механики - кинематики, попробую объяснить популярно и максимально понятно даже ежу. Есть ускорение свободного падения g (пусть оно положительное) Есть у персонажа скорость V по вертикали, то есть по оси Y. (пусть положительное направление оси - вниз) Персонажа по оси Y нужно двигать в соответствии с его скоростью по вертикали V. То есть например скорость 1 - вот и сдвинули по оси Y на 1. И каждый же раз увеличивать скорость на g. То есть чем дольше персонаж падает, тем быстрее он это делает: скорость-то увеличивается. Когда персонаж коснётся земли, движение его вниз отключаем к чёртовой бабушке, скорость ставим на 0 и не трогаем, а то, чего доброго, сквозь землю провалится. То есть получается, что уравнение, описывающее лодинату персонажа, выглядит так: Y = Y0 + V0*t + gt^2/2 Где Y0 - начальное положение по оси Y t - время Уравнение скорости V получаем дифференцированием уравнения ординаты Y по времени t: V = V0 + gt Опять же, дифференцированием по t данного уравнения находим, что ускорение - есть константа : a = g В момент, когда надо сделать прыжок - выставляем скорость персонажа на какое-то отрицательное значение (как мы помним, направление оси вверх - это отрицательные значения) и видим, как он, летя вверх, сначала замедляется, а потом уже летит вниз, пока не коснётся земли. Значения g и V в момент прыжка подбирать экспериментально. Никаких точных рекомендаций по детектированию "коснулся ли персонаж земли или нет?" дать не могу, так как хз как у тебя выглядит земля в коде/на экране (телепаты в отпуске, наглецы, уже не один месяц). В самом примитивном случае - плоская земля и тогда проверка сводится к сравнению ординаты со значением высоты земли. И да, не удивляйся ответам в начале темы в стиле капитана очевидность: описание вопроса в первом посте было настолько "подробным", что можно только послать. Формулируй вопросы чётко и подробно. И называй тему так, чтобы она кратко отражала своё содержание. Между прочим, за названия топиков типа "Помогите", "Подскажите", "Вопрос" и т.д., т.е. не понять, о чём собственно тема, положен банан. В следующий раз применим. |
Ответ: Как сделать прыжок?
Цитата:
а, да, мой прыжок - самый простой вариант (и им останетмя на все времена) кому мало - дополняйте как хотите. суть заданного вопроса отражает в полной мере. |
Часовой пояс GMT +4, время: 20:06. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot