如何在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