![]() |
|
||||||||||
|
|||||
|
strange mood
|
У меня офигенная идея: перегрузите свойство rotation!
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 84
|
Где то я видимо объясняю криво.
Смотрим пример, который я вам приводил. Задаём N, исходя из того, сколько витков пользователь совершил [/quote] Ведь в этом и проблема =) Зная N, можно устанавливать угол например так: currentAngle+2Pi*n и не нужны эти сложности с таймерами и прочим. Вычислить максимально точно N у меня не получается (стоит очень быстро покрутить мышкой и все слетает) отсюда погрешности и прочее. Перегружать rotation как то не охота =) он не виноват, ему смело можно указать rotation=720 |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Тогда
Цитата:
Можно смотреть, сколько раз object.rotation перешёл значения PI/2 и -PI/2, и в какой последовательности. И на основе этого предполагать, сколько было сделано полных оборотов. Либо изначально количество оборотов задавать не вращением объекта, а, например, перетягиванием ползунка (вводом числа). Тут уж всё зависит от специфики. Но, как мне кажется, общая схема, если не получается точно определить количество оборотов, такова: узнали angle0 (object.rotation перед началом вращения объекта пользователем) и angle1 (object.rotation в конце вращения объекта пользователем), а также [N], то есть количество полных оборотов. Далее к angle0 и angle1 прибавили (вычли) период (то есть 2*PI) столько раз, чтобы оба угла лежали на полуотрезке [0; 2*PI). Далее к angle1 прибавали количество полных оборотов, умноженное на 2*PI (то есть angle1 += [N]*2*PI). Далее вращаем. Последний раз редактировалось SamFR; 09.11.2009 в 22:17. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|