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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 18.05.2007, 07:30
d0cent вне форума Посмотреть профиль Отправить личное сообщение для d0cent Посетить домашнюю страницу d0cent Найти все сообщения от d0cent
  № 1  
Ответить с цитированием
d0cent
 
Аватар для d0cent

Регистрация: Nov 2005
Сообщений: 106
По умолчанию Загрузка SWF внутрь другого SWF

Ситуация такая: есть несколько swf роликов, и есть один swf с интерфейсом, и "экранчиком" в котором эти самые swf должны крутиться. Загружаю в основную флешку один из этих роликов посредством MovieClipLoader. Флешка загружается, но обнаруживаются неприятные вещи:

1. так как основная флешка "резиновая", занимает весь экран браузера и способна тянуться под его размеры, сохраняя при этом неизменным размер и форматирование всех элементов интерфейса, включая "экранчик" в который грузятся внешние флешки - загружаемые флешки не получается закрепить на одном нужном месте, хотя мувиклип в который флешки грузятся, обрабатывается "выравнивающим" скриптом как и остальные элементы интерфейса.
2. подгружаемая флешка берет некий текст из txt файла, если ее отдельно запускать все нормально, но если она открывается внутри основной флешки - текст в ней не грузится.

Привожу свой код:
Код:
// настройки сцены
Stage.scaleMode = "noScale";
Stage.align = "TL";

// создадим объект для реагирования на изменение габаритов окна
var resize_obj = {};

// запомнили нормальную ширину
resize_obj.normal_width = 800;

// запомнили нормальную высоту
resize_obj.normal_height = 600;

// самое главное: список объектов, которые будем перемещать
resize_obj.position = [fon, ramka, bg];

// собственно, реакция на изменения габаритов окна
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;
}

/* запоминаем пропорции высоты и ширины 
(отношение габарита к нормальной ширине/высоте) */
fon._widthRatio = fon._width/resize_obj.normal_width;

// подгружаем внешнюю флешку
var my_mcl:MovieClipLoader=new MovieClipLoader();
var my_obj:Object=new Object();
my_mcl.loadClip("house.swf",bg);
my_mcl.addListener(my_obj);

//ресайз
resize_obj.onResize();


Последний раз редактировалось d0cent; 18.05.2007 в 07:36.
Создать новую тему   Часовой пояс GMT +4, время: 16:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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