PDA

Просмотр полной версии : Видимость загруженного мува


Geo Storm
07.03.2006, 18:02
Стоит задача загрузить мувик на сцену и скрыть его до поры - не через альфу, а вообще спрятать.
Пишу код:
this.createEmptyMovieClip("movik", -1000);
loadMovie("movik.swf", movik);
this.movik._x = 166;
this.movik._y = 32;
this.movik._visible = false;

Мувик чудесно грузится и ставится на место - но он видим!
Там простой векторный рисунок, один кадр без скриптов.
Я в легких непонятках.. Где прокол?

Fl00r
07.03.2006, 18:09
_root.createEmptyMovieClip("movik", _root.getNextHighestDepth());
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
_root.movik._x = 166;
_root.movik._y = 32;
_root.movik._visible = 0;
}
var movikLoader:MovieClipLoader = new MovieClipLoader();
movikLoader.addListener(mclListener);
movikLoader.loadClip("movik.swf", movik);

silin
07.03.2006, 18:19
другой вариант загнать его с глаз долой:
this.createEmptyMovieClip("movik", -1000);
loadMovie("movik.swf", movik);
this.movik._y = 32;
this.movik._x = 10000;//потом поставишь куда надо

Geo Storm
07.03.2006, 18:27
Да, так все работает, спасибо большое!
Но, камарады, как же так: я могу напрямую обратиться к одному свойству мува и не могу - к другому. Координаты-то ставятся нормально, а видимось - шиш. Вот что меня смутило.
Ведь когда я потом назначаю movik._visible = true; или false - все работает.

Fl00r
07.03.2006, 18:30
Все идеалогически верно.
Дело в том, что координаты выставляются раз и на всегда, а такое свойство как видимость - выставляется по факту.
По факту ты выставил невидимость пустому мувику movik, потому что loadMovie() еще к тому моменту выполниться не смог,
поэтому приходиться выставлять событие onLoadInit

Geo Storm
07.03.2006, 18:34
По факту ты выставил невидимость пустому мувику movik, потому что loadMovie() еще к тому моменту выполниться не смог,
поэтому приходиться выставлять событие onLoadInitВот!! Вот где собака порылась!! Ай эм андерстенд нау, сенк ю вери мааач!! :)
*уходит просветленный*

Geo Storm
07.03.2006, 18:58
*возвращается офигевший*
_root.getNextHighestDepth() стабильно возвращает "0" и мув, загруженный на эту глубину, не виден!
Пишу тестовый код:
_root.createEmptyMovieClip("movik", _root.getNextHighestDepth());
_root.createEmptyMovieClip("movik1", _root.getNextHighestDepth());
trace("Movik start at "+this.movik.getDepth());
trace("Movik1 start at "+this.movik1.getDepth());
А trace мне и отвечает:Movik start at
Movik1 start at 0То есть как мне понимать это?

silin
07.03.2006, 19:02
getNextHighestDepth
Availability: ActionScript 1.0; Flash Player 7

nyctota
07.03.2006, 19:05
всё путём! первый на глубине 0, второй -- 1.
может ты по запаре глубину первого мувика проверяешь в обоих случаях? 8)

Geo Storm
07.03.2006, 19:10
getNextHighestDepth
Availability: ActionScript 1.0; Flash Player 7Ага! Значит, для 6-го плеера мне такой код не собрать.. Ладно, прикрутим свой счетчик, мы не гордые.. Спасибо!

Geo Storm
07.03.2006, 19:12
всё путём! первый на глубине 0, второй -- 1.
может ты по запаре глубину первого мувика проверяешь в обоих случаях? 8)Код приведен, проверка на разных мувах.