Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как обратится к подгруженному клипу? (http://www.flasher.ru/forum/showthread.php?t=113563)

vikingcompany 02.07.2008 15:12

Как обратится к подгруженному клипу?
 
В управляющий ролик подгружается ролик с контентом.
Как к нему обратится (с целью сделать скрол и т.д.)?

MrXoT 02.07.2008 15:23

в какой клип ты его подгрузил к такому и обращаешься
например
loadMovie(путь, имя клипа)

пример
Код:

_root.createEmptyMovieClip("test", 1)
loadMovie("test.swf", _root.test)


3d Developer 02.07.2008 15:47

Мне кажеться уж лучше все сделать в самом клипе и скроллы и т.д. а уже из _level0 ниче с ним не делать кроме стандартных _alpha и _visible ))

vikingcompany 04.07.2008 02:07

Цитата:

Сообщение от 3d Developer (Сообщение 749502)
Мне кажеться уж лучше все сделать в самом клипе и скроллы и т.д. ...

Может быть, но я почему-то решил пусть скролл будет общий,
а подгруженый мувик им будет просто по _y смещаться.

Цитата:

Сообщение от MrXoT (Сообщение 749494)
пример
Код:

_root.createEmptyMovieClip("test", 1)
loadMovie("test.swf", _root.test)


А без _root можно? Например так:
Код:

createEmptyMovieClip("content", 0);
content.loadMovie("content.swf");

И вообще: какая принципиальная разница между _root и _this?

Molecula 04.07.2008 02:44

Семиэтажное здание.
Вы на 7-ом этаже звоните в двери - Вам откроют на 7-ом этаже.
Вы на 6-ом этаже звоните в двери - Вам откроют на 7-ом этаже.
Хоть Вы и в подвале - Вам откроют на 7-ом этаже.
Таков принцип _root -та.

С this, Вам откроют там, где Вы находитесь, т.е. это локальный указатель, а _root глобальный, он всегда будет указывать на самый вверх.

Вы хотите обратиться к функции (переменной) подгруженного СВФ или просто имет на него ссылку? Если второе, то так:
Код:

var mc:MovieClip = this.createEmptyMovieClip("content", this.getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("mySWF.swf", mc);

function onLoadInit(o:MovieClip) {
    trace(o.width);
    trace(o.height);
}

mc - теперь ссылка на контент.
mc.myFunc() - вызовет публичную функцию mySWF.swf.

vikingcompany 04.07.2008 09:56

Цитата:

Сообщение от Molecula (Сообщение 749984)
Семиэтажное здание.
Вы на 7-ом этаже звоните в двери - Вам откроют на 7-ом этаже.
Вы на 6-ом этаже звоните в двери - Вам откроют на 7-ом этаже.
Хоть Вы и в подвале - Вам откроют на 7-ом этаже.
Таков принцип _root -та.

Офигенно сказано. Спасибо за разъяснение!

Цитата:

Сообщение от Molecula (Сообщение 749984)
Вы хотите обратиться к функции (переменной) подгруженного СВФ или просто имет на него ссылку? Если второе, то ...

Нет, как раз первое! Мне необходимо обращаться к переменным клипа.
Раньше я подгружал клип просто, при помощи loadMovieNum -
он попадал в "корневичок" и просто висел там, никто его не трогал.
А когда вдруг возникла необходимость к нему обратится - встал вопрос его идентификатора.
Оказывается нужно клип-контейнер создавать :-)

Однако, не все задачи мне удаётся решить.
Например, наложить маску на этот динамически созданный клип так и не получается.
Для статически созданных элементов я делал так:
Код:

content.setMask(mask_mc);


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

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