Показать сообщение отдельно
Старый 18.11.2011, 20:35   #22
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Вращение оружия вместе с камерой

(не)адекватный прыжок сделать можно так. Вводим переменную скорости прыжка. Константу содержащую максимальную скорость прыжка и константу G. Во время нажатия клавиши прыжка устанавливаем скорость прыжка в максимум. В цикле двигаем сущность этой скоростью вверх.

Таким образом получится плавный прыжок и не нужно городить 2 переменные вроде jumpSpeed и gravity, а использовать отрицательные значения JumpSpeed в качестве гравитации

В коде:

jumpMaxSpeed# = 1.2
jumpSpeed# = 0
const PHYS_G# = 0.98
 
Function Jump()
if KeyHit( кнопка_прыжка ) jumpSpeed = maxJumpSpeed
end function
 
... где-то в главном цикле( или в функции обновления игрока )
TranslateEntity entity, 0, jumpSpeed, 0
 
if jumpSpeed > -PHYS_G jumpSpeed = jumpSpeed - PHYS_G * 0.1
Можно еще эффектов всяких навесить. Вроде небольшого приседания перед прыжком и т.п.

зы. за блицевский код не бить если в нем недочеты - последний раз писал на нем 5 месяцев назад
__________________

(Offline)
 
Ответить с цитированием