Вопрос

Кажется, что это было бы действительно легко сделать, но это вызывает у меня всевозможные головные боли.У меня есть видеоролик, который представляет собой галерею, он связан для вызова из AS при нажатии кнопки.При нажатии на изображение в галерее оно исчезает при использовании класса Tween и становится предполагаемый должен быть центрирован на главной сцене, но вместо этого он центрируется на видеоролике.

Вот этот код:

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

Я перепробовал все эти комбинации, но безрезультатно:

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

Ни один из них не помещает изображение в нужное место.

Это было полезно?

Решение

Установите это свойство, чтобы ваша сцена имела свое оригинальное значение (0x0) в верхнем левом углу:

stage.align = StageAlign.TOP_LEFT;

И это, чтобы сцена оставалась в том же масштабе, что и окно, изменяет размер:

stage.scaleMode = StageScaleMode.NO_SCALE;

Затем вам нужно будет дождаться загрузки изображения, прежде чем выровнять его, так как до этого оно не будет иметь ширину. Я также рекомендовал бы прослушивать Event.RESIZE на сцене, это срабатывает при изменении размера.

Если предположить, что ваш текущий код должен работать нормально!

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

Другие советы

MovieClip(root).addChild(myFull); не забудьте сделать то же самое с removeChild

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top