Показать сообщение отдельно
Старый 12.10.2012, 11:15
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 1  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
Tools Вращение относительно центра с draw()

Привет!
Есть проблема с поворотом объекта относительно центра при использовании draw() c BitmapData.
В первом случае спрайт в библиотеке имеет регистрационную точку 0,0; Рисуется впринципе нормально, но на сцену переносится в точку x,y(создается при клике) без какого либо смещения


Если присвоить смещение bitmap относительно этой точки все станет как надо, но при повороте такая конструкция повернется относительно опять таки своей регистрационной точки а не точки назначения:


Если сместить оригинальный спрайт относительно точки регистрации в центр то поворот и расположение(без принудительного смещения) заработают как надо, но тогда draw будет рисовать только часть картинки.

Смещение по матрице внутри BitmapData ничего не дает. Вот код:

Код AS3:
var tmp:RockSpr = new RockSpr();
var bd:BitmapData = new BitmapData(tmp.width, tmp.height);
var bm:Bitmap = new Bitmap(bd);
bm.x = e.stageX;
bm.y = e.stageY;
bm.rotation = 45;
addChild(bm);
Как объединить два этих подхода чтобы получилось правильная отрисовка и поворот?
Спасибо!
__________________
uglan