Форум 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)
-   -   [rnmd] Ролик после загрузки в главный перестает работать, как ожидалось (http://www.flasher.ru/forum/showthread.php?t=75340)

CREDO 10.02.2006 10:43

[rnmd] Ролик после загрузки в главный перестает работать, как ожидалось
 
Подскажите плиз.

Я использую внешний прелоадер.
При загрузке в прелоадер, основа сайта перестает полноценно работать,
не смотря на то, что в основе я прописал _lockroot.
что делать?

Antares 10.02.2006 11:50

О как...

1. В какой основе?
2. Что такое "полноценно работать"?

Futs 10.02.2006 11:57

А где ты его написал, почитай внимательно

olegn 10.02.2006 12:05

Цитата:

А где ты его написал
Ну он его в "основе" прописал. А это у него загружаемый фильм, все правильно...

Antares 10.02.2006 12:07

Цитата:

Сообщение от olegn
Ну он его в "основе" прописал. А это у него загружаемый фильм, все правильно...

Уважаемый, в какой основе?

Прописывать локрут необходимо в ролике, которому хотим фиксировать ссылку на _root, а значит, __загружаемому__ в 99% случаев.

CREDO 10.02.2006 12:15

Основой я называю сайт, который грузиться в прелоадер.

Мне важно понять как влияет на "основу" _lockroot.

olegn 10.02.2006 12:16

;) :) 2Antares
Я и говорю то же самое. В загружаемом надо прописывать. Он так и сделал .
Это он "основой" называет загружаемый фильм (почитай его пост). А фильм, в который он загружает, он называет "внешним прелоадером".
Логично.
:) :)

Король 10.02.2006 12:17

lockroot прописывам тому муву, в который грузим подгружаемый - сорри за тавтологию - свф

Король 10.02.2006 12:19

а влияет он так, что все обращения к _root из кода мувика - переадресовываются тому муву, в котором он оказывается после загрузки

olegn 10.02.2006 12:19

Цитата:

Сообщение от CREDO
Мне важно понять как влияет на "основу" _lockroot.

Ну как влияет :) После загрузки в твой "прелоадер" в твоей "основе" продолжают работать строчки кода
Код:

_root...
И они продолжают ссылаться на timeline "основы", а не "прелоадера", как было бы в случае, если бы _lockroot был бы неопределен.

CREDO 10.02.2006 12:19

Неполноценно работать - это когда работают не все функции скрипта.

Король 10.02.2006 12:22

ты хоть выяснил - какие функции-то не работают?

olegn 10.02.2006 12:22

Цитата:

Сообщение от Король
lockroot прописывам тому муву, в который грузим подгружаемый - сорри за тавтологию - свф

неправильно !

Король 10.02.2006 12:25

так... что именно и почему?

CREDO 10.02.2006 12:26

Да опыт показал, что _lockroot прописывать следует в "основе"

olegn 10.02.2006 12:27

Цитата:

Сообщение от Король
а влияет он так, что все обращения к _root из кода мувика - переадресовываются тому муву, в котором он оказывается после загрузки

Это если lockroot false или не определено.
А если в загружаемом прописывается lockroot true, то все обращения к _root по прежнему адресуются к этому самому клипу, несмотря на то, что он уже находится внутри другого. Для этого это свойство и придумали.

CREDO 10.02.2006 12:31

Не работает вот этот скрипт.
Код:

function images() {
          var count = 0;
          loadVariablesNum("http://www.ra-slon.ru/"+_root["movie"]+"/Amount.php", 0, "POST");
          _root.onData = function() {
                  for (p=0; p<amount; p++) {
                          count<=amount;
                        count++;
                        var c = _root.loader_mc.images_mc.createEmptyMovieClip("cell_"+count, _root.loader_mc.images_mc.getNextHighestDepth());
                          _root.loader_mc.images_mc["cell_"+count].attachMovie("frame_mc", "frame_mc", 1);
                          if (count<10) {
                                _root.loads_image.loadClip("http://www.ra-slon.ru/Resize.php?f="+_root["movie"]+"/00"+count+".jpg&type=0", _root.loader_mc.images_mc["cell_"+count+""].frame_mc.loader_mc);                          }                          if (count>9) {
                                  _root.loads_image.loadClip("http://www.ra-slon.ru/Resize.php?f="+_root["movie"]+"/0"+count+".jpg&type=0", _root.loader_mc.images_mc["cell_"+count+""].frame_mc.loader_mc);
                          }
                          c._x = c._width*p;
                          for (v=0; v<=count; v++) {
                                _root.loader_mc.images_mc["cell_"+v].v = v;                                  _root.loader_mc.images_mc["cell_"+v].onRollOver = function() {
                                        new Tween(this, '_width', mx.transitions.easing.Elastic.easeOut, this._width, 120, 30);
                                        new Tween(this, '_height', mx.transitions.easing.Elastic.easeOut, this._height, 120, 30);
                                          this.getNextHighestDepth();                                  };                                  _root.loader_mc.images_mc["cell_"+v].onRollOut = function() {
                                          new Tween(this, '_width', mx.transitions.easing.Elastic.easeOut, this._width, 105, 30);
                                          new Tween(this, '_height', mx.transitions.easing.Elastic.easeOut, this._height, 105, 30);
                                  };
                                  _root.loader_mc.images_mc["cell_"+v].onPress = function() {                                          if (this.v<=9) {
                                                  getURL("javascript:var win= window.open('http://www.ra-slon.ru/Resize.php?f="+_root["movie"]+"/00"+this.v+".jpg&type="+quality+"', 'Preview', 'toolbar=0, scrollbars=0, location=0, statusbar=0, menubar=0, resizable=1, width=700, height=500, left=0, top=0');");                                          }                                          if (this.v>9) {
                                                getURL("javascript:var win= window.open('http://www.ra-slon.ru/Resize.php?f="+_root["movie"]+"/0"+this.v+".jpg&type="+quality+"', 'Preview', 'toolbar=0, scrollbars=0, location=0, statusbar=0, menubar=0, resizable=1, width=700, height=500, left=0, top=0');");
                                          }
                                  };
                          }
                  }
          };
  }


olegn 10.02.2006 12:31

Цитата:

Сообщение от Король
так... что именно и почему?

Определение lockroot для фильма-приемника не имеет смысла, поскольку его timeline и так "верхняя".
А вот для фильма, который ЗАГРУЖАЕМ внутрь другого, это имеет смысл (см. предыдущие посты).
Поэтому - используем в загружаемом фильме.

Король 10.02.2006 12:31

еще раз..

ставим mc._lockroot = true
грузим в mc что-то
все обращения к руту из "что-то" переадресовываются к mc
что не ясно?

olegn 10.02.2006 12:33

определи обработчик события ДО того, как ты выполняешь действие, вызывающее это событие. А не после.

MIX-er 10.02.2006 12:34

простите дебила но не прощще ли использовать относительную адрезацию вместо абсолютной???

Король 10.02.2006 12:35

миксер, ТЕПЕРЬ уже явно не проще

olegn 10.02.2006 12:37

2Король
Да, так тоже можно. Согласен.
Это не противоречит тому, что я раньше написал.
ОК, разобрались с формулировками.

Antares 10.02.2006 13:17

Цитата:

Сообщение от Король
еще раз..

ставим mc._lockroot = true
грузим в mc что-то
все обращения к руту из "что-то" переадресовываются к mc
что не ясно?

Так и без локрута будет так же. А надо, как правило, в дочернем на него связать.

Король 10.02.2006 13:24

нет. самый простой эксперимент -
код в подгружаемом:
_root.t = 0
грузим в mc
трейсим mc.t - получаем undefined
перед тем как загрузить пишем mc._lockroot = true
получаем в трейся 0

Король 10.02.2006 13:51

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

Antares 10.02.2006 14:34

Ну так ты только что подтвердил мои слова) Я, видимо, выразился неточно.

CREDO 10.02.2006 17:12

loadVariablesNum("http://www.ra-slon.ru/"+_root["movie"]+"/Amount.php", 0, "POST");



Определил, что вся проблема в этой строке.

CREDO 12.02.2006 22:30

Кто знает, есть ли альтернатива _lockroot

И вообще, кто как делает прелоадеры?

olegn 12.02.2006 22:39

Цитата:

Сообщение от CREDO
есть ли альтернатива _lockroot

Я считаю, _lockroot лучше всего.
При разработке для версий Flash Player, которые это свойство не поддерживают, можно на временной шкале клипа, для которого ты хотел бы задать _lockroot true, определить глобальную переменную
Код:

_global.thisRoot=this;
и далее везде вместо _root ссылаться на thisRoot
Также можно вообще пытаться обойтись без обращения к _root, пользуясь свойствами this и _parent.


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

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