![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 20
|
всем привет
Цель: создать ролик который будет пропорционально масштабировать обьекты mc_Left и mc_right при изменении окна браузера или изменении разрешения экрана. Есть swf в котором находится 3 MС, mc_left, mc_right, mc_center. Каждый из них должен отвечать за свою позицию. На данном этапе left и right растягиваются не пропорционально в зависимости от разрешения экрана. center стоит по центру. зы: в html-е стоит H и W по 100%. FullScreen true. Вопрос: что нужно исправить чтобы в конечном итоге наш ролик пропорционально растягивался на всё окно браузера и каждый из 3-х МС был на своем месте. // настройки сцены Stage.scaleMode = "noScale"; Stage.align = "TL"; // создадим объект для реагирования на изменение габаритов окна var resize_obj = {}; // запомнили нормальную ширину resize_obj.normal_width = 1000; // запомнили нормальную высоту resize_obj.normal_height = 600; // самое главное: список объектов, которые будем перемещать resize_obj.position = [mc_center, mc_left, mc_right ]; // собственно, реакция на изменения габаритов окна resize_obj.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(resize_obj); /* запоминаем пропорции координат (отношение координат к нормальной ширине/высоте) */ var clip; for (var i in resize_obj.position) { // перебираем все клипы в списке clip = resize_obj.position[i]; // пропорция координаты по горизонтали clip._xRatio = clip._x/resize_obj.normal_width; // пропорция координаты по вертикали clip._yRatio = clip._y/resize_obj.normal_height; } /* запоминаем пропорции высоты и ширины (отношение габарита к нормальной ширине/высоте) */ mc_left._widthRatio = mc_left._width/resize_obj.normal_width; mc_left._heightRatio = mc_left._height/resize_obj.normal_height; mc_right._widthRatio = mc_right._width/resize_obj.normal_width; mc_right._heightRatio = mc_right._height/resize_obj.normal_height; /*выравниваем центральный mc*/ root.mc_center._x = (Stage.width - mc_center._width) / 2; root.mc_center._y = (Stage.height - mc_center._height) / 2; Последний раз редактировалось sparco2008; 10.10.2009 в 14:24. |
|
|||||
|
Модрон-ветеринар
|
Что он будет масштабировать?
|
|
|||||
|
Регистрация: Jun 2008
Сообщений: 20
|
|
|
|||||
|
Модрон-ветеринар
|
Раз уж оформляете топик с использованием "цель", "вопрос", так допишите что-то, а то фраза в воздухе повисает:
Цель: создать ролик который будет пропорционально масштабировать при изменении окна браузера или изменении разрешения экрана. Читать дальше как-то не хочется уже, когда вопросы появляются - что, собственно, автор хочет? |
|
|||||
|
loading 50%
|
Попытка сброса зачетная. Человеку влом самому дописывать чужой код для двух клипов и он предлогает это сделать участникам форума. Могу намекнуть: у Вас написана функция маштабирования клипа, но нет функции позициирования. Смотрите 2 последние строчки. Там в одном случае нужно поставить ноль и в обоих убрать /2.
Последний раз редактировалось aksios; 10.10.2009 в 14:50. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|