Я пытаюсь создать гравитацию, включая эфирное время, а также ускорение.
Я пробовал использовать обычную гравитацию, которая выглядит примерно так:
velocity += gravity * dt;
position += velocity * dt;
Это, вероятно, подойдет для обычной игры-платформеров, но я пытаюсь создать игру, вдохновленную «игрой с вертолетом», где вам нужно перемещаться по туннелю, не касаясь стен.
Что я хочу сделать по-другому, так это то, что я хочу иметь возможность сохранять скорость на спуске, которая будет использоваться снова на пути вверх, поэтому у меня будет некоторое ускорение в начале.
Я также хочу своего рода эфирное время, поэтому, когда вы попадаете на вершину, это не заставит вас опускаться так быстро, как это было бы, если бы я использовал гравитацию из примера кода.
Это изображение иллюстрирует кривую, которую я хотел бы :
Обратите внимание, что все управление осуществляется одной кнопкой, поэтому например, вы взлетите, если удерживаете пробел, и нырнете, если отпустите его.
Персонаж также никогда не двигается влево или вправо, так как он будет иметь статическое положение X на экране, поэтому векторы нельзя использовать .
Я часами пытался кей это работает, но безуспешно. Я также пробовал искать в Интернете, но безуспешно.
Игра "Whale Trails" получила ту гравитацию, которую я хотел.
Вот ссылка на видео игры: http://www.youtube.com/watch?v=5OQ0OWcuDJs
Я не такой уж большой физик, поэтому было бы здорово, если бы вы могли привести пример реального кода - надеюсь, кто-нибудь поможет мне разобраться в этом.