我有一个最初在[-100,-100]坐标(左上角)创建的符号.现在我将这个符号的实例放在[0,0]阶段坐标的舞台上(通过在IDE中用鼠标拖动它).有了这个实例,我还能以某种方式确定动作脚本的原始[-100,-100]位置吗?(myInstance.x
返回阶段坐标).
我所做的:
在创建期间创建位于-100,-100坐标的库中的新符号
在一些不同的坐标上将这个符号的实例放在舞台上
在actionscript中尝试从实例对象获取原始-100值,如:
this.myInstance.x
(只有这会返回舞台坐标)
为什么我这样做:
我试图将这个movieclip放入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);
如果我知道原始符号坐标在舞台上掉落之前,我就可以计算出这个偏移量.
希望这是有道理的.
// get bounds including strokes // traces (x=-105, y=-105, w=110, h=110) trace(myInstance.getBounds(myInstance)); // get bounds excluding strokes // traces (x=-100, y=-100, w=100, h=100) trace(myInstance.getRect(myInstance));