PDA

Просмотр полной версии : Позиционирование объектов при noScale


yo3o
19.06.2010, 08:40
Я сделал fullscreen вот код

stop();
//Don't scale the movie when the stage size changes
Stage.scaleMode="noScale";
//Align the stage to the top left
Stage.align = "TL";
//Function to toggle between fullscreen and normal size
//the toggle fullscreen button calls this function when pressed
function toggleFullScreen(){
//if normal size, go to fullscreen, else go to normal size
if(Stage["displayState"]=="normal"){
Stage["displayState"]="fullScreen";
}else{
Stage["displayState"]="normal";
}
}
//Create a listener for each time the Stage is resized
var resizeListener:Object = new Object();
//Called each time the stage is resized
resizeListener.onResize = function () {
//Move the button to the center of the screen


myVideo._height = Stage.height;
myVideo._width = Stage.width;


}
//Add the listener to Stage
Stage.addListener(resizeListener);

он растягивает myVideo на весь экран, но у меня есть еще обьекты которые должны быть снизу по центру, скажите как это все можно сделать.

in4core
19.06.2010, 12:07
mc1._x = Stage.width/2 - mc._width; для цетнтровки
mc1._y = Stage.height - mc._height; ставим снизу

rainbowrussia
19.06.2010, 15:40
Зависит от точки привязки мувиков. Если точка привязки слева вверху, то:

mc1._x = Stage.width/2 - mc._width; для цетнтровки


надо заменить на


mc1._x = Stage.width/2 - mc._width/2; для цетнтровки

yo3o
21.06.2010, 08:44
почему-то не работает (

Добавлено через 42 минуты
Stage.scaleMode="noScale";

Stage.align = "B";



myVideo._height = Stage.height;
myVideo._width = Stage.width;

а как сделать так чтоб myVideo при Stage.align = "B"; растягивался не от центра а от верхнего левого края?

rainbowrussia
22.06.2010, 03:08
Зависит от точки привязки myVideo. Если привязка по левому-верхнему краю, то замените


myVideo._height = Stage.height;
myVideo._width = Stage.width;

на

myVideo._x = -(Stage.width - 550)/2;
myVideo._y = -(Stage.height - 400)/2;

myVideo._height = Stage.height;
myVideo._width = Stage.width;


где 550 и 400 это ширина и высота сцены в редакторе.

Если привязка по центру myVideo._x достаточно задать значение 550/2, а myVideo._y значение 400/2 - (Stage.height - 400);

yo3o
22.06.2010, 06:14
Зависит от точки привязки myVideo. Если привязка по левому-верхнему краю, то замените


myVideo._height = Stage.height;
myVideo._width = Stage.width;

на

myVideo._x = -(Stage.width - 550)/2;
myVideo._y = -(Stage.height - 400)/2;

myVideo._height = Stage.height;
myVideo._width = Stage.width;


где 550 и 400 это ширина и высота сцены в редакторе.

Если привязка по центру myVideo._x достаточно задать значение 550/2, а myVideo._y значение 400/2 - (Stage.height - 400);

Спасибо все работает!!!

drobinkin
22.06.2010, 16:47
А если вложенность мувиков 2-3-4 уровня и точка привязки (и масштаб) на разных уровнях разные, и надо самый низко вложенный :) клип разместить по центру сцены, то тогда как? Поясню: делаю карту микрорайона, на которой стоит мувик "дом".
Ессно, его структура такая: дом - этаж - квартиры. Начинал рисовать с квартир, потом их объединил в этаж и запихнул это все в дом. Отсюда и разные точки привязок и масштабы.

rainbowrussia
22.06.2010, 22:28
Вам не клип нужно разместить по центру, а разместить самый вышестоящий клип в такой позиции, чтобы нужный клип оказался по центру. Надо считать и размещать. Если отталкиваться от "окна", то через _parent можно пройти весь путь до "дома" и посчитать где должен быть помещен дом, чтобы окно было в заданной позиции.