forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Как сделать прыжок? (http://forum.boolean.name/showthread.php?t=11639)

Sand 03.01.2010 12:57

Как сделать прыжок?
 
как сделать затяжной прыжок для платформера????:dontknow:

SBJoker 03.01.2010 13:17

Ответ: Подскажите
 
как обычный но только дольше...

Sand 03.01.2010 14:36

Ответ: Подскажите
 
а как обычный сделать?

NitE 03.01.2010 15:16

Ответ: Подскажите
 
если есть под ногами земля то прыгнуть, прибавлять Y пока он не будет больше чем высота прыжка, если такое случилось убавлять Y пока не случится столкновение с землей, выключить прыжок.

Sand 03.01.2010 15:18

Ответ: Подскажите
 
спс доперло

SubZer0 04.01.2010 02:57

Ответ: Подскажите
 
я бы предложил сделать ускорение наверх...

если ускорение равно нулю и нажато прыгать, то ускорение равно 10
если ускорение больше нуля, то ускорение равно ускорение минус 1 (замедление)
если снизу пол, то ускорение равно 0
позиция х равно позиция х плюс ускорение деленное на 2

:)

NitE 04.01.2010 03:03

Ответ: Подскажите
 
да, и можно до бесконечности прыгать...

SubZer0 04.01.2010 03:23

Ответ: Подскажите
 
флуд?

NitE 04.01.2010 03:26

Ответ: Подскажите
 
а нет, нелзя ))) - но твой алгоритм всёравно запареннее.

SubZer0 04.01.2010 04:00

Ответ: Подскажите
 
а у тебя прыжок на уровне mario bros. alpha на втором часу разработки

NitE 04.01.2010 04:07

Ответ: Подскажите
 
эмм, у меня почти "стандарт", а у тебя уже переделка - которая по сути ненужна потомучто делает всё тоже.

ABTOMAT 04.01.2010 05:04

Ответ: Подскажите
 
Цитата:

Сообщение от NitE (Сообщение 132158)
эмм, у меня почти "стандарт", а у тебя уже переделка - которая по сути ненужна потомучто делает всё тоже.

Стандарт конца 1980-х.
Саб тож чот мудрёно написал.
На самом деле всё делается на основе элементарных принципов раздела механики - кинематики, попробую объяснить популярно и максимально понятно даже ежу.
Есть ускорение свободного падения 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 в момент прыжка подбирать экспериментально.
Никаких точных рекомендаций по детектированию "коснулся ли персонаж земли или нет?" дать не могу, так как хз как у тебя выглядит земля в коде/на экране (телепаты в отпуске, наглецы, уже не один месяц). В самом примитивном случае - плоская земля и тогда проверка сводится к сравнению ординаты со значением высоты земли.

И да, не удивляйся ответам в начале темы в стиле капитана очевидность: описание вопроса в первом посте было настолько "подробным", что можно только послать.
Формулируй вопросы чётко и подробно.
И называй тему так, чтобы она кратко отражала своё содержание.
Между прочим, за названия топиков типа "Помогите", "Подскажите", "Вопрос" и т.д., т.е. не понять, о чём собственно тема, положен банан.
В следующий раз применим.

NitE 04.01.2010 06:17

Ответ: Как сделать прыжок?
 
Цитата:

положен банан.
В следующий раз применим.
у товарища 30 сообщений с идентичным содержанием... когда настанет "следующий раз" ?

а, да, мой прыжок - самый простой вариант (и им останетмя на все времена) кому мало - дополняйте как хотите. суть заданного вопроса отражает в полной мере.


Часовой пояс GMT +4, время: 20:06.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot