如何在Flash/AS3中获取/设置MovieClip的绝对位置?绝对而言,我的意思是相对于舞台的起源。Flash/AS3;获取/设置MovieClip的绝对位置?
我目前有此setter:
class MyMovieClip extends MovieClip
{
function set xAbs(var x:Number):void
{
this.x = -(this.parent.localToGlobal(new Point()).x) + x;
}
}
这似乎是工作,但我有一种感觉它要求舞台靠左对齐。
但是,我没有一个工作的获得者。这是行不通的:
public function get xAbs():Number
{
return -(this.parent.localToGlobal(new Point()).x) + this.x; // Doesn't work
}
我的目标是解决方案的工作,并与所有Stage对齐,但它很棘手。我在舞台上使用这个相对于浏览器的窗口大小。
编辑:这适用于左上对齐的阶段;不知道别人:
public function get AbsX():Number
{
return this.localToGlobal(new Point(0, 0)).x;
}
public function get AbsY():Number
{
return this.localToGlobal(new Point(0, 0)).y;
}
public function set AbsX(x:Number):void
{
this.x = x - this.parent.localToGlobal(new Point(0, 0)).x;
}
public function set AbsY(y:Number):void
{
this.y = y - this.parent.localToGlobal(new Point(0, 0)).y;
}
二传手怎么样? – bzlm 2008-12-04 09:44:27