Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Управление из внешне загруженного клипа в клипе куда загружается (http://www.flasher.ru/forum/showthread.php?t=200015)

digdig 28.05.2013 23:27

Управление из внешне загруженного клипа в клипе куда загружается
 
Доброго времени суток
Необходима помощь. Есть клип, туда происходит загрузка другого клипа, из загружаемого клипа необходимо произвести команду на предметы и линию времени принимающего клипа. Как? Помогите.

Прикладываю архив там всё понятно

Зарание благодарен

Idon'tKnow 29.05.2013 01:25

Вложений: 1
Ну, вроде, это работает.))) :)

Вложение 29581

НО, я сделал это очень криво. Лишь основную идею попробовал, суть идеи в том:

1. Подписываем Stage в главном клипе на событие.
2. Подписываем ту текстФилд(кнопочку, при клике на которую идёт переход на кадр, на событие клика).
3. В прослушивателе события клика имитируем событие для Stage, на которе подписали в пункте номер 1.
Код AS3:

(stage.dispatchEvent(new Event(Ваше Событие)))

4. В прослушивателе этого события:
a). Удаляем сам прослушиватель(он нам больше не нужен).
б). Делаем переход на второй кадр.
в). Собственно, вроде, всё.

НО, Вам придется написать своё, пользовательское событие, я реализовал саму идею, мне было лень создавать новое событие, я использовал Event.COMPLETE, что очень нежелательно.

P.S. Интересно, а без Stage'a можно задиспатчить это событие(реализовать всё это дело) ?

digdig 29.05.2013 12:00

Большое спасибо Вам за помощь
Но мне всё ещё трудновато, даётся
Выкладываю другой пример, там для меня сложно получается
Помогите разобраться как там и что там

Idon'tKnow 29.05.2013 12:45

К сожалению, я не очень понял, что нужно((( Объясните, пожалуйста, поточнее. Лучше даже имя файлов используйте, чтобы понадежнее. :) Постараюсь помочь, чем смогу.

evgen4ik 29.05.2013 13:12

пересохрани флахи для кс5

digdig 29.05.2013 18:50

Вот сохранил файлы в формате кс5
Доброго времени суток
Постараюсь описать какая помощь мне необходима
Есть главный клип "klip_glav.swf"
В первом фрейме находится клип "zag" - место, куда загружаются внешние флаши
Рядом с "zag" есть "clip_2" - другой клип, который состоит из двух фреймов
Теперь нажимаем на кнопку меню, и загружается внешний файл "zag.swf" в "zag"- место для загрузки.

После загрузки можно рассмотреть клип "zag.swf", который состоит из клипа на сцене "asd1" - клип2 содержащий в себе набор из ничего, кроме красной кнопки.
Внутри клип2 находится линия времени её необходимо рассмотреть.
Открываем клип1 внутри клип2 и видим линию времени клипа 1.
На линии времени клип1 находится красная кнопка при нажатии которой необходимо перенестись в клип2
во фрейм 2 - этот фрейм содержит команду, которая нас перебрасывает во фрейм 3 на этой же линии времени.
Во фрейм 3 находится команда, которая направлена на клип "klip_glav.swf" оттуда команда направляется в "clip_2" - другой клип и перенаправляет на фрейм 2

Помогите

Добавлено через 18 часов 56 минут
S.O.S. Не забывайте

Добавлено через 25 часов 23 минуты
Я всё ещё занят этой задачей, кто может помочь?

GaryV 30.05.2013 21:42

Тема актуальна. Хотелось бы узнать решение. Помогите кто может, в долгу не останусь...

AlexCooper 30.05.2013 21:50

как кто-то уже написал выше диспатчите событие (не обязательно через stage) , а подгрузчик слушает и обрабатывает команды от подгруженного.

Idon'tKnow 30.05.2013 22:00

AlexCooper, очень было интересно, а как реализовать без stage? Что еще общего у этих двух экземпляров есть?

AlexCooper 30.05.2013 22:19

Пишу
external
Код AS3:

var swfController:Loader = new Loader();
swfController.contentLoaderInfo.addEventListener(Event.COMPLETE, setMagic );
swfController.load(new URLRequest('internal.swf'));
 
function setMagic(e:Event):void {
 swfController.content.addEventListener('COMMAND', internalHandler);
}
 
function internalHandler(e:Event):void {
 trace('Internal '+e.target.externalData);
}

internal
Код AS3:

public var externalData:*;
 
addEventListener(Event.ADDED_TO_STAGE, crosscomand);
 
function crosscomand(e:Event):void {
externalData = 'пихаем данные';
dispatchEvent(new Event('COMMAND'));
}

Цитата:

Сообщение от Idon'tKnow (Сообщение 1135704)
AlexCooper, очень было интересно, а как реализовать без stage? Что еще общего у этих двух экземпляров есть?

в ответ на вопрос, общий внутренний клип


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

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