У меня есть символ, изначально созданный по координате [-100, -100] (левый верхний угол). Теперь я поместил экземпляр этого символа на сцену с координатами [0,0] (перетаскивая его мышью в IDE). Имея этот экземпляр, я все же могу как-то определить исходную позицию [-100, -100] из ActionScript? (myInstance.x
возвращает координату этапа).
Что я делаю:
- создать новый символ в библиотеке, расположенной по координатам -100, -100 при его создании
- поместите экземпляр этого символа на сцену в несколько разных координат
- в Actionscript попытаться получить оригинальное значение -100 от объекта экземпляра, например:
this.myInstance.x
(только это возвращает координаты сцены)
Почему я это делаю:
Я пытаюсь поместить этот мувиклип в BitmapData:
var myClip:MovieClip = this.myInstance;
var bmp:BitmapData = new BitmapData(myClip.width, myClip.height);
bmp.draw(myClip);
Проблема в том, что BitmapData выглядит так, как будто берёт только часть клипа, которая находится в положительных координатах. Чтобы преодолеть это, мне нужно предоставить матрицу преобразования с соответствующими смещениями:
var m:Matrix = new Matrix();
m.tx = 100;
m.ty = 100;
bmp.draw(myClip, m);
Я мог бы рассчитать это смещение, если бы знал исходные координаты символа до того, как оно было сброшено на сцену.
Надеюсь, это имеет смысл.