imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 09.09.2005, 23:38     # 1
Melkor
Full Member
 
Аватар для Melkor
 
Регистрация: 25.11.2001
Адрес: Imho.ws
Сообщения: 941

Melkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царстве
ускорение в игре

Привет!
Как сделать плавное увеличение скорости. Допустим чтоб вертолетик в игре медленно разгонялся.
Основа - OpenGL, но не на прямую и не через Glut.
прерывания клавиатуры получаю через
isKeyDown(SG_RIGHT)
там же ставится на сколько позиций менять положение объекта (допустим y+=3 или y-=3), то есть позиция относительно текущей позиции. Числа целые...
пробовал несколько вариантов но так клавиаутра посылает сигналы довольно быстро то все ускорение пролетает довольно быстро.
Есть идея создатьмассив и брать среднее значение из него.. но это слишком нудно получится...
Язык С++, но лучше алгоритм.
сеньксь
__________________
Когда умираешь, да еще так долго и трудно, очень хочется хоть немного насолить живым, просто невозможно удержаться от искушения!
М.Фрай
Melkor вне форума  
Старый 10.09.2005, 00:50     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
ну тут такой момент - преывание с клавы ты действительно получаешь очень быстро - к этим интервалам привязываться ИМХО не имеет особого смысла в случае с целыми числами - лучше использовать числа с плавающей точкой... тебе нужена какая-нибудь быстрорастущая функция, которая будет вначале медленная а потом быстрая - на бесконечности у тебя как раз будет максимальная скорость... Что-то наверное типа экспоненты в вариациях...прерывание в данном случае будет играть роль значений аргументов видимо, т.к. примерно с одинаковым интервалом будет срабатывать... а текущее положение это будет множитель - тут смотря от чего у тебя отсчитываются координаты... ну вот как-то так, примерно
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 10.09.2005, 01:27     # 3
Melkor
Full Member
 
Аватар для Melkor
 
Регистрация: 25.11.2001
Адрес: Imho.ws
Сообщения: 941

Melkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царстве
Спасибо
собственно сам только что нашел решение:
класс и на каждое прерывание прибавляем/вычитаем к внетрунней переменной (double) 0.05 и выдаем как целое.Если ничего не происходит - тормозим. Само-собой получается прямая линия если чертить график )
__________________
Когда умираешь, да еще так долго и трудно, очень хочется хоть немного насолить живым, просто невозможно удержаться от искушения!
М.Фрай
Melkor вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


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




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.