如何从actionscript获取局部符号坐标?

ser*_*erg 0 flash actionscript-3

我有一个最初在[-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);
Run Code Online (Sandbox Code Playgroud)

问题是BitmapData看起来只是采取位于正坐标的剪辑的一部分.为了克服这个问题,我需要提供具有相应偏移的变换矩阵:

var m:Matrix = new Matrix();
m.tx = 100;
m.ty = 100;
bmp.draw(myClip, m);
Run Code Online (Sandbox Code Playgroud)

如果我知道原始符号坐标在舞台上掉落之前,我就可以计算出这个偏移量.

希望这是有道理的.

Cla*_*ers 5

// 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));
Run Code Online (Sandbox Code Playgroud)