резиновый сайт и motion twin
Всем привет,
первый раз делаю резину...
по скрипту который всем известен, но сталкнулся с тем что когда для мувика или прям внутри мувика делаю твин,
то потом при просмотре флэхи этот мувик растягивается вместе с твином (так как скрипт запоминает первоначальное значение w h, а первоначальное значение это твин..)
вообщем пробывал отдельно в скрипте обозначить ит.д, так же скрипт не работает с масками ...)
(почемуто этот скрипт работает только со статическими изображениями...) разьясните что дописать или как изменить скрипт для работы с твином, масками, анимацией...
Код AS1/AS2:
// настройки сцены
Stage.scaleMode = "noScale";
Stage.align = "TL";
// создадим объект для реагирования на изменение габаритов окна
var mc = {};
// запомнили нормальную ширину
mc.normal_width = 1280;
// запомнили нормальную высоту
mc.normal_height = 1024;
// самое главное: список объектов, которые будем перемещать
mc.position = [flo1, // квадрат
flo2, // круг
walllight, // треугольник
floor,
wallcentre,
sofa,
tf,
wallfloor,
lightwall,
lightfloor,
linefloor
];
// собственно, реакция на изменения габаритов окна
mc.onResize = function()
{
var clip;
for (var i in this.position) {
// перебираем все клипы в списке
clip = this.position[i];
// восстанавливаем пропорции координат для каждого клипа
clip._x = Stage.width*clip._xRatio;
clip._y = Stage.height*clip._yRatio;
// если для клипа определена пропорция по ширине
if (clip._widthRatio != undefined) {
clip._width = Stage.width*clip._widthRatio;
}
// если для клипа определена пропорция по высоте
if (clip._heightRatio != undefined) {
clip._height = Stage.height*clip._heightRatio;
}
}
};
// связь между классом Stage и объектом resize_obj
Stage.addListener(mc);
/* запоминаем пропорции координат (отношение координат к нормальной ширине/высоте) */
var clip;
for (var i in mc.position) {
// перебираем все клипы в списке
clip = mc.position[i];
// пропорция координаты по горизонтали
clip._xRatio = clip._x/mc.normal_width;
// пропорция координаты по вертикали
clip._yRatio = clip._y/mc.normal_height;
}
/* запоминаем пропорции высоты и ширины (отношение габарита к нормальной ширине/высоте) */
flo1._heightRatio = flo1._height/mc.normal_height;
flo2._heightRatio = flo2._height/mc.normal_height;
walllight._widthRatio = walllight._width/mc.normal_width;
walllight._heightRatio = walllight._height/mc.normal_height;
floor._widthRatio = floor._width/mc.normal_width;
floor._heightRatio = floor._height/mc.normal_height;
wallcentre._heightRatio = wallcentre._height/mc.normal_height;
wallfloor._widthRatio = wallfloor._width/mc.normal_width;
wallfloor._heightRatio = wallfloor._height/mc.normal_height;
lightfloor._widthRatio = lightfloor._width/mc.normal_width;
lightfloor._heightRatio = lightfloor._height/mc.normal_height;
lightwall._widthRatio = lightwall._width/mc.normal_width;
lightwall._heightRatio = lightwall._height/mc.normal_height;
linefloor._widthRatio = linefloor._width/mc.normal_width;
mc.onResize();
stop();
|