![]() |
Вращение относительно центра с draw()
Привет!
Есть проблема с поворотом объекта относительно центра при использовании draw() c BitmapData. В первом случае спрайт в библиотеке имеет регистрационную точку 0,0; Рисуется впринципе нормально, но на сцену переносится в точку x,y(создается при клике) без какого либо смещения http://support.kurchenko.ru/1.png Если присвоить смещение bitmap относительно этой точки все станет как надо, но при повороте такая конструкция повернется относительно опять таки своей регистрационной точки а не точки назначения: http://support.kurchenko.ru/2.png Если сместить оригинальный спрайт относительно точки регистрации в центр то поворот и расположение(без принудительного смещения) заработают как надо, но тогда draw будет рисовать только часть картинки. http://support.kurchenko.ru/3.png Смещение по матрице внутри BitmapData ничего не дает. Вот код: Код AS3:
Спасибо! |
Для того, чтобы отрисовать спрайт с поворотом, нужна битмапдата, большая по размеру, чем спрайт. Но я вижу, что ты поворачиваешь битмап и это у него точка регистрации находится в координатах 0, 0. Самый простой вариант - вложить эту битмапу в какой-нибудь контейнер со смещением и поворачивать этот контейнер. Правильный вариант - заюзать матрицу, что-то типа такого:
Код AS3:
|
Цитата:
Код AS3:
|
Цитата:
Код AS3:
|
А ты в курсе, что когда ты вызываешь
Код AS3:
И к тому же, как использовать готовую, если это не та матрица, которая нужна... |
Цитата:
можно, положить картинку в спрайт, и все будет проще |
Цитата:
Добавлено через 6 минут Цитата:
|
самый правильный способ - использование матрицы преобразования. Все остальные способы более медленные... правильно, что не используете контейнеры, они только тормозят
|
| Часовой пояс GMT +4, время: 06:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.