Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.10.2009, 14:04
sparco2008 вне форума Посмотреть профиль Отправить личное сообщение для sparco2008 Найти все сообщения от sparco2008
  № 1  
Ответить с цитированием
sparco2008

Регистрация: 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-х МС был на своем месте.

Код AS1/AS2:
 
// настройки сцены
 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;
Вложения
Тип файла: rar main.rar (50.9 Кб, 40 просмотров)


Последний раз редактировалось sparco2008; 10.10.2009 в 14:24.
Старый 10.10.2009, 14:10
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от sparco2008 Посмотреть сообщение
всем привет
Цель: создать ролик который будет пропорционально масштабировать при изменении окна браузера или изменении разрешения экрана.
Что он будет масштабировать?

Старый 10.10.2009, 14:15
sparco2008 вне форума Посмотреть профиль Отправить личное сообщение для sparco2008 Найти все сообщения от sparco2008
  № 3  
Ответить с цитированием
sparco2008

Регистрация: Jun 2008
Сообщений: 20
Цитата:
Сообщение от mooncar Посмотреть сообщение
Что он будет масштабировать?
обьекты mc_Left и mc_right

Старый 10.10.2009, 14:22
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от sparco2008 Посмотреть сообщение
обьекты mc_Left и mc_right
Раз уж оформляете топик с использованием "цель", "вопрос", так допишите что-то, а то фраза в воздухе повисает:
Цель: создать ролик который будет пропорционально масштабировать при изменении окна браузера или изменении разрешения экрана.
Читать дальше как-то не хочется уже, когда вопросы появляются - что, собственно, автор хочет?

Старый 10.10.2009, 14:46
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 5  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Попытка сброса зачетная. Человеку влом самому дописывать чужой код для двух клипов и он предлогает это сделать участникам форума. Могу намекнуть: у Вас написана функция маштабирования клипа, но нет функции позициирования. Смотрите 2 последние строчки. Там в одном случае нужно поставить ноль и в обоих убрать /2.


Последний раз редактировалось aksios; 10.10.2009 в 14:50.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.