• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Инерция

  • Автор темы denis79513
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

denis79513

Как реализовать инерцию на blitz3d (диалект basic). Допустим имеется предмет, который движется со скоростью speed# при нажатии определенной клавиши, нужно, чтобы при отпускании этой клавиши, предмет продолжал двигаться некоторое время по инерции.
Заранее всем спасибо.
 
R

Rus59Wolf

Оказывается у меня старая версия, так что если что извиняйте...

Мы делали это примерно так-
заводили для объекта с переменной скоростью счетчик времени (обычное число), затем происходило следующее- (OBJ_X-одна из координат, OBJ_speed- текущая скорость причем именно по x, по у она может быть иной, time - счетчик времени)

...
цикл программы
If KeyDown(203) Then;left
OBJ_speed=-speed
time=millisecs()
Else

ENDIF
OBJ_X=OBJ_X+OBJ_speed
if time<>millisecs() then
if OBJ_speed>0 then
OBJ_speed=OBJ_speed-1
else
if OBJ_speed<0 then
OBJ_speed=OBJ_speed+1
endif
endif
endif

...

согласен, код ужасный, однако он работал. Этот участок кода отвечал за замедление кораблика в скрол шутере. Вообще для более полных формул можно почитать физику - формулы зависимости координаты от времени и ускорения. Для движения в произвольном направлении в эту формулу просто подставляются вектора по вертикали и горизонтали

Добавлено: Оказывается у меня старая версия, так что если что извиняйте...

Мы делали это примерно так-
заводили для объекта с переменной скоростью счетчик времени (обычное число), затем происходило следующее- (OBJ_X-одна из координат, OBJ_speed- текущая скорость причем именно по x, по у она может быть иной, time - счетчик времени)

...
цикл программы
If KeyDown(203) Then;left
OBJ_speed=-speed
time=millisecs()
Else

ENDIF
OBJ_X=OBJ_X+OBJ_speed
if time<millisecs()-100 then
if OBJ_speed>0 then
OBJ_speed=OBJ_speed-1
else
if OBJ_speed<0 then
OBJ_speed=OBJ_speed+1
endif
endif
endif

...

согласен, код ужасный, однако он работал. Этот участок кода отвечал за замедление кораблика в скрол шутере. Вообще для более полных формул можно почитать физику - формулы зависимости координаты от времени и ускорения. Для движения в произвольном направлении в эту формулу просто подставляются вектора по вертикали и горизонтали.

формулы можно посмотреть здесь:
 
D

denis79513

Большое спасибо, буду разбираться...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!