Flash/AS3; get/set absolute position von MovieClip?

How do you get/set der absoluten position eines MovieClip in Flash/AS3? Und durch absolute, ich meine seine position relativ zur Bühne ist origo.

Momentan habe ich diese setter:

class MyMovieClip extends MovieClip
{
  function set xAbs(var x:Number):void
  {
    this.x = -(this.parent.localToGlobal(new Point()).x) + x;
  } 
}

Diese scheint zu funktionieren, aber ich habe das Gefühl, es erfordert, dass die Bühne wird Links ausgerichtet.

Allerdings glaube ich nicht, habe einen getter. Das funktioniert nicht:

public function get xAbs():Number 
{
  return -(this.parent.localToGlobal(new Point()).x) + this.x; //Doesn't work
}       

Ich bin mit dem Ziel für eine Lösung, die funktioniert, und funktioniert mit allen Stufe Ausrichtungen, aber es ist schwierig. Ich bin mit diesem auf einer Stufe, die relativ zum browser-Fenster-Größe.

EDIT: Dies gilt für ein Links-oben ausgerichtet Bühne; nicht sicher über andere:

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;
}

InformationsquelleAutor bzlm | 2008-12-03

Schreibe einen Kommentar