![]() |
Поворот с затуханием
Приветствую.
Есть горизонтально расположенный обект. Можно ли сделать так, чтобы при нажатии на кнопку вверх он постепенно попорачивался на градусов этак 30 против часовой, а при отпускании постепенно возвращался в нормальное положени. Тоже самое и с поворотом вниз (по часовой). Не знаю как сделать, чтобы все это делалось плавно. Т.е. поворот постепенно затухал при подходе к 30 градусам. Заранее пасиба... |
Делаем две логические переменные, допустим, Clockwise и AntiClockwise.
Если первая true -- увеличиваем _rotation, если вторая -- уменьшаем. Теперь об уменьшении и увеличении. Делаем мы это на величину которую удобно назвать speed. Ее модуль в свою очередь, по каком-либо нам желаемому правилу уменьшаем (получаем ускорение). Только не забывай, что скорость может уйти в минус. Ну и последний шаг. Если прижата кнопка вверх -- Clockwise = true, если отжата -- false. Аналогично с кнопкой вниз и AntiClockwise. Куда повесить код, описывающий это дело, думаю, понимаешь. |
Можно несколько по-другому. Если нажата кнопка вверх - переменная-флаг равна 1, нажата вниз - -1, при "отжатии" любой из кнопок флаг равен нулю. Соответственно далее делаем все необходимые повороты с проверкой
if(flag){ //----- }else{ //----- } Вариант с анимацией, конечно, не рассматривается :) |
| Часовой пояс GMT +4, время: 09:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.