Форум 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.
Старый 18.05.2007, 23:55
d0cent вне форума Посмотреть профиль Отправить личное сообщение для d0cent Посетить домашнюю страницу d0cent Найти все сообщения от d0cent
  № 2  
Ответить с цитированием
d0cent
 
Аватар для d0cent

Регистрация: Nov 2005
Сообщений: 106
Вобщем, первую проблемму решил, просто добавив прозрачный фон флешке и разместив ее в нужном месте экрана с помощью HTML. А вот со вторым вопросом, почему подгружаемая флешка не открывает текстовый файл не разобрался. Гуру, помогите плиз.

Старый 19.05.2007, 00:06
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 3  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Ответ на второй вопрос скорее всего в путях, к сожалению нет этой части скрипта что бы дать досканальный ответ.
__________________
Free-lance | Twitter | Me

Старый 19.05.2007, 00:07
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А _root используется в подгружаемой флешке?

Старый 19.05.2007, 01:32
d0cent вне форума Посмотреть профиль Отправить личное сообщение для d0cent Посетить домашнюю страницу d0cent Найти все сообщения от d0cent
  № 5  
Ответить с цитированием
d0cent
 
Аватар для d0cent

Регистрация: Nov 2005
Сообщений: 106
Цитата:
Сообщение от __etc
А _root используется в подгружаемой флешке?
Теперь да, но что с ним что без него - на результате никак не сказывается

Старый 19.05.2007, 01:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А должно. _lockroot в помощь. Если не поможет — выкладывайте исходник.

Старый 19.05.2007, 02:25
d0cent вне форума Посмотреть профиль Отправить личное сообщение для d0cent Посетить домашнюю страницу d0cent Найти все сообщения от d0cent
  № 7  
Ответить с цитированием
d0cent
 
Аватар для d0cent

Регистрация: Nov 2005
Сообщений: 106
Цитата:
Сообщение от __etc
А должно. _lockroot в помощь. Если не поможет — выкладывайте исходник.
Не совсем понял в какую флешку пихать _lockroot в загружающую или в загружаемую?

Старый 19.05.2007, 04:38
d0cent вне форума Посмотреть профиль Отправить личное сообщение для d0cent Посетить домашнюю страницу d0cent Найти все сообщения от d0cent
  № 8  
Ответить с цитированием
d0cent
 
Аватар для d0cent

Регистрация: Nov 2005
Сообщений: 106
_lockroot не помог, или я не так его использовал.
А вот код, который загружает текст из файла в загружаемой флешке:
Цитата:
var my_lv:LoadVars = new LoadVars();
my_lv.onData = function(txt:String):Void {
txt1.html = true;
txt1.wordWrap = true;

txt1.htmlText = txt;
};
my_lv.load("text1.html");

Старый 19.05.2007, 05:23
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 9  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
нужно на текстовое поле txt1 ссылку давать от рута подгружающего
__________________
Free-lance | Twitter | Me

Старый 19.05.2007, 05:28
d0cent вне форума Посмотреть профиль Отправить личное сообщение для d0cent Посетить домашнюю страницу d0cent Найти все сообщения от d0cent
  № 10  
Ответить с цитированием
d0cent
 
Аватар для d0cent

Регистрация: Nov 2005
Сообщений: 106
Цитата:
Сообщение от screamge
нужно на текстовое поле txt1 ссылку давать от рута подгружающего
А подробней можно? Как ссылка выглядит?

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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