![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2003
Сообщений: 16
|
Приветствую.
Есть горизонтально расположенный обект. Можно ли сделать так, чтобы при нажатии на кнопку вверх он постепенно попорачивался на градусов этак 30 против часовой, а при отпускании постепенно возвращался в нормальное положени. Тоже самое и с поворотом вниз (по часовой). Не знаю как сделать, чтобы все это делалось плавно. Т.е. поворот постепенно затухал при подходе к 30 градусам. Заранее пасиба... |
|
|||||
|
Banned
Регистрация: Dec 2003
Сообщений: 3,925
|
Делаем две логические переменные, допустим, Clockwise и AntiClockwise.
Если первая true -- увеличиваем _rotation, если вторая -- уменьшаем. Теперь об уменьшении и увеличении. Делаем мы это на величину которую удобно назвать speed. Ее модуль в свою очередь, по каком-либо нам желаемому правилу уменьшаем (получаем ускорение). Только не забывай, что скорость может уйти в минус. Ну и последний шаг. Если прижата кнопка вверх -- Clockwise = true, если отжата -- false. Аналогично с кнопкой вниз и AntiClockwise. Куда повесить код, описывающий это дело, думаю, понимаешь. |
|
|||||
|
Можно несколько по-другому. Если нажата кнопка вверх - переменная-флаг равна 1, нажата вниз - -1, при "отжатии" любой из кнопок флаг равен нулю. Соответственно далее делаем все необходимые повороты с проверкой
if(flag){ //----- }else{ //----- } Вариант с анимацией, конечно, не рассматривается ![]()
__________________
За двумя зайцами погонишься - от егеря по морде получишь |
![]() |
Часовой пояс GMT +4, время: 08:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|