Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 19.08.2012, 22:30
gait вне форума Посмотреть профиль Отправить личное сообщение для gait Найти все сообщения от gait
  № 1  
Ответить с цитированием
gait

Регистрация: Mar 2010
Адрес: Russian Federation
Сообщений: 59
Question Почему спрайт перестает поворачиваться, если значение угла больше 32768?

Спрайт прикручен к телу в box2d. Тело вращается (колесо). Rotation спрайт получает от угла тела. Угол тела box2d не обнуляется, за каждый пройденный круг прибавляется 2П радиан. После того, как вращение тела произошло более 91 раз, угол тела становится 2П * 91 = 571.76, что в градусах 91 * 180 * П = 32760. И колесо еще сможет сделать оборот на 8 градусов. Но более этого уже не сможет. То есть колесо не сможет сделать 91-ый оборот до конца.
Обхожу это следующим (проверка в каждом кадре):
Код AS3:
var rotLimit:Number = 180 * 10;
while (wheelRotation > rotLimit) 
{
	wheelRotation -= rotLimit;
}
Но как-то не очень красиво получается. Может есть другие способы борьбы с этой проблемой?

Создать новую тему   Часовой пояс GMT +4, время: 15:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.