Frage

Dies scheint, wie es eine wirklich einfache Sache zu tun wäre, aber seine mir alle Arten von Kopfschmerzen sind zu geben. Ich habe einen Movieclip, der eine Galerie ist, dann ist es im Zusammenhang mit von AS aufgerufen werden, wenn eine Schaltfläche geklickt wird. Wenn ein Bild in der Galerie angeklickt wird, es blendet die Tween-Klasse und ist sollte in der Hauptstufe zentriert werden, aber seine Zentrierung auf den Movieclip statt.

Hier ist der Code:

//Centers and places image right ondo the display board
function fullLoaded(e:Event):void {
    var myFull:Loader = Loader(e.target.loader);
    addChild(myFull);

    //positioning
    myFull.x = (stage.stageWidth - myFull.width) / 2;
    myFull.y = (stage.stageHeight - myFull.height) /2;

    //register the remove function
    myFull.addEventListener(MouseEvent.CLICK, removeFull);

    new Tween(myFull, "alpha", Strong.easeInOut,0,1,0.5,true);
}

Ich habe alle diese Kombinationen ohne Erfolg versucht:

MovieClip(root).stage.stageWidth  
root.stage.stageWidth  
parent.stage.stageWidth

Keine dieser Stelle das Bild in der richtigen Stelle.

War es hilfreich?

Lösung

diese Sie diese Eigenschaft Ihre Bühne zu machen, haben es origo (0x0) in oben links:

stage.align = StageAlign.TOP_LEFT;

Und die Bühne, um den gleichen Maßstab bleiben, wie die Fenstergröße ändert:

stage.scaleMode = StageScaleMode.NO_SCALE;

Dann müssen Sie warten, bis Ihr Bild geladen ist, bevor Sie es ausrichten, da sie nicht mit einer Breite, bevor dann haben werden. Ich würde auch zu hören für Event.RESIZE auf der Bühne empfiehlt, wird dies immer dann, wenn die Größenänderungen gefeuert.

Unter der Annahme, alles, was Ihr aktueller Code sollte funktionieren!

myFull.x = (stage.stageWidth - myFull.width) / 2;
myFull.y = (stage.stageHeight - myFull.height) /2;

Andere Tipps

MovieClip(root).addChild(myFull); vergessen Sie nicht, das Gleiche zu tun, um removeChild

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top