Форум 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=82096)

vvp3000 05.07.2006 10:57

Ориентирование в уровнях проигрователя
 
Помогите пожалйста. запутался на какой уровень и как подгружать информацию. Суть:
1. Флэш сайт.
2. В одном из фремов в него подгружается еще идин мувик.
3. В этот мувик, в свою очередь подгружается текст.
Код:

_root.ForLoad1.loadMovie("movie/sotrudniki1.swf");
...
_root.loadVariables("anotsotr/vkv.txt", "");

вот в таком виде не работает. Точнее работает, если тестировать sotrudniki1.swf отдельно. Через index.swf тект просто не отображается
пробовал и this.loadVariables("anotsotr/vkv.txt", "") и _parent.loadVariables("anotsotr/vkv.txt", "")

CorC 05.07.2006 12:06

если в мувике еще 1 мувик то на него выходить не через _root а через _levelX, где Х уровень вложения клипов
_root=_level0

iNils 05.07.2006 12:15

_root не всегда _level0

vvp3000 05.07.2006 12:45

Цитата:

Сообщение от CorC
если в мувике еще 1 мувик то на него выходить не через _root а через _levelX, где Х уровень вложения клипов
_root=_level0

думаю это не тот выход, а если в проигрователь уже загружены другие клипы :(
хочу понять как это сделать с относительной адресацией

CorC 05.07.2006 12:58

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

Morozov1982 05.07.2006 13:47

Просто копия статьи из хэлпа к семёрке (надеюсь поможет)
 
Код:

MovieClip._lockroot
Доступность
Flash Player 7.

Синтаксис
Код:

my_mc._lockroot:Boolean
Описание
Свойство; определяет, на что ссылкается ключевое слово _root при загрузке внешнего SWF файла в мувиклип. По умолчанию свойство _lockroot имеет значение undefined. Вы можете задавать это свойство в загружаемом SWF файле или обработчике события, связанном с мувиклипом, в который производится загрузка.

Например, представьте, что у вас есть документ Games.fla, позволяющий пользователю выбрать игру, а затем загружающий ее (например, Chess.swf) в мувиклип game_mc. Вы хотите быть уверены в том, что слово _root, используемое в Chess.swf, все так же ссылается на _root в файле Chess.swf после загрузки в Games.swf. Если у вас есть доступ к исходному Chess.fla и Вы готовы опубликовать его для Flash Player 7 или более поздней версии, Вы можете добавить следующую строку на главный Таймлайн Chess.fla:

Код:

this._lockroot = true;
Если у вас нет доступа к Chess.fla (например, вы загружаете Chess.swf в chess_mc со стороннего сайта), Вы можете установить его свойство _lockroot после загрузки, как показано ниже. В этом случае, Chess.swf может быть опубликован для любой версии Flash Player, при условии, что Games.swf опубликован для Flash Player 7 или более поздней версии. Добавьте следующий код на главный Таймлайн:

Код:

chess_mc._lockroot = true;
При вызове loadMovie() присвойте свойству MovieClip._lockroot значение true в ролике, куда производится загрузка, как показано ниже. Если этого не сделать, ролик, в который происходит загрузка, будет иметь доступ только к своей собственной Бибилиотеке, но не к Библиотеке загруженного ролика:

Код:

myMovieClip._lockroot = true;
Пример
В примере ниже, в lockroot.fla свойство _lockroot определено на главном Таймлайне SWF файла. Если ролик будет загружен в другой, _root всегда будет ссылаться на основной Таймлайн lockroot.swf, что позволяет избежать конфликтов. Добавьте следующий код на главный Таймлайн lockroot.fla.

Код:

this._lockroot = true;
_root.myVar = 1;
_root.myOtherVar = 2;
trace("Из lockroot.swf");
for (i in _root) {
  trace("  "+i+" -> "+_root[i]);
}
trace("");

Будет выведено следующее:
Код:

Из lockroot.swf
myOtherVar -> 2
myVar -> 1
_lockroot -> true
$version -> WIN 7,0,19,0

В примере ниже загружаются два SWF файла, lockroot.swf и nolockroot.swf. Документ lockroot.fla содержит код из предыдущего примера. Файл nolockroot.fla имеет в первом кадре главного Таймлайна следующий код:

Код:

_root.myVar = 1;
_root.myOtherVar = 2;
trace("Из nolockroot.swf");
for (i in _root) {
  trace("  "+i+" -> "+_root[i]);
}
trace("");

В ролике lockroot.swf свойство _lockroot определено на главном Таймлайне, а в nolockroot.swf — нет. После загрузки файлов, каждый файл выводит переменные из _root. Поместите следующий код на главный Таймлайн третьего документа:

Код:

this.createEmptyMovieClip("lockroot_mc", this.getNextHighestDepth());
lockroot_mc.loadMovie("lockroot.swf");
this.createEmptyMovieClip("nolockroot_mc", this.getNextHighestDepth());
nolockroot_mc.loadMovie("nolockroot.swf");
function dumpRoot() {
  trace("Из текущего SWF файла");
  for (i in _root) {
    trace("  "+i+" -> "+_root[i]);
  }
  trace("");
}
dumpRoot();

Будет выведено следующее:

Код:

Из текущего SWF файла
dumpRoot -> [type Function]
$version -> WIN 7,0,19,0
nolockroot_mc -> _level0.nolockroot_mc
lockroot_mc -> _level0.lockroot_mc

from nolockroot.swf
myVar -> 1
i -> lockroot_mc
dumpRoot -> [type Function]
$version -> WIN 7,0,19,0
nolockroot_mc -> _level0.nolockroot_mc
lockroot_mc -> _level0.lockroot_mc

Из lockroot.swf
myOtherVar -> 2
myVar -> 1

Файл без определенного на главном Таймлайне свойства _lockroot содержит также все переменные с главного Таймлайна ролика-родителя. Если у вас нет доступа к nolockroot.fla, Вы можете изменить свойство _lockroot из главного ролика:

Код:

this.createEmptyMovieClip("nolockroot_mc", this.getNextHighestDepth());
nolockroot_mc._lockroot = true;
nolockroot_mc.loadMovie("nolockroot.swf");

Будет выведено следующее:
Код:

from current SWF file
dumpRoot -> [type Function]
$version -> WIN 7,0,19,0
nolockroot_mc -> _level0.nolockroot_mc
lockroot_mc -> _level0.lockroot_mc

from nolockroot.swf
myOtherVar -> 2
myVar -> 1

from lockroot.swf
myOtherVar -> 2
myVar -> 1

:)

etc 05.07.2006 14:51

Лучше использовать мувики-контейнеры и забыть про _root.

vvp3000 05.07.2006 16:21

Цитата:

Сообщение от __etc
Лучше использовать мувики-контейнеры и забыть про _root.

Т.е.создать клип и сразу в него забить текст - это не сложно... весь интерес в том, что содержание данного текстового поля меняется в процессе работы сайта... а именно, дается характеристика сотруднику, на чье фото наведен указатель мышки

Пуннокио 05.07.2006 18:48

может
тебе использовать MovieClip.loadMovie();
и MovieClip.loadVariables();

не запутаешься, так как будеь грузить конкретно в клипы, хоть данные, хоть другой клип

etc про это говорил

тут меньше вероятность ошибиться


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

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