PDA

Просмотр полной версии : Поворот с затуханием


m-16
15.08.2004, 22:58
Приветствую.
Есть горизонтально расположенный обект. Можно ли сделать так, чтобы при нажатии на кнопку вверх он постепенно попорачивался на градусов этак 30 против часовой, а при отпускании постепенно возвращался в нормальное положени. Тоже самое и с поворотом вниз (по часовой).
Не знаю как сделать, чтобы все это делалось плавно. Т.е. поворот постепенно затухал при подходе к 30 градусам.
Заранее пасиба...

Antares
16.08.2004, 00:29
Делаем две логические переменные, допустим, Clockwise и AntiClockwise.

Если первая true -- увеличиваем _rotation, если вторая -- уменьшаем.

Теперь об уменьшении и увеличении. Делаем мы это на величину которую удобно назвать speed. Ее модуль в свою очередь, по каком-либо нам желаемому правилу уменьшаем (получаем ускорение). Только не забывай, что скорость может уйти в минус.

Ну и последний шаг. Если прижата кнопка вверх -- Clockwise = true, если отжата -- false. Аналогично с кнопкой вниз и AntiClockwise.

Куда повесить код, описывающий это дело, думаю, понимаешь.

artfla$her
16.08.2004, 00:49
Можно несколько по-другому. Если нажата кнопка вверх - переменная-флаг равна 1, нажата вниз - -1, при "отжатии" любой из кнопок флаг равен нулю. Соответственно далее делаем все необходимые повороты с проверкой

if(flag){
//-----
}else{
//-----
}

Вариант с анимацией, конечно, не рассматривается :)