PDA

Просмотр полной версии : Почему getNextHighestDepth() вечно глючит?


джонатан
19.01.2009, 20:29
Здравствуйте! Расскажите пожалуйста, если кто знает, почему постоянно при использовании getNextHighestDepth(), возникают проблемы. К примеру вот тут:


this.onLoadStart = function(targ:MovieClip) {
if(prelN > 0) {
targ._parent.attachMovie("prel", "preloader" + prelN, targ._parent.getNextHighestDepth());
targ._parent["preloader" + prelN]._x = ((prevWidth + LV) * (prelN - 1)) + prevWidth + LV;
}
}



Тогда как без него все работает.


this.onLoadStart = function(targ:MovieClip) {
if(prelN > 0) {
targ._parent.attachMovie("prel", "preloader" + prelN, prelN + 2000);
targ._parent["preloader" + prelN]._x = ((prevWidth + LV) * (prelN - 1)) + prevWidth + LV;
}
}


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

Спасибо вам. :victory:

iNils
19.01.2009, 20:36
Компоненты используем?

chingachgoog
19.01.2009, 20:38
А вы потрейсте targ._parent на глубину getDepth() для разных обработчиков (не только для onLoadStart)

Wolsh
20.01.2009, 01:16
Я бы сделал глубину targ.getDepth()+1 и не мучался
Но теоретически интересно, что происходит.

SeaQuest
20.01.2009, 03:58
Поддерживаю, если проект относительно серьезный хочется один раз поставить функцию и забыть, нежели ждать подвоха.

etc
20.01.2009, 12:16
Никогда не пользовался getNextHighestDepth.

SeaQuest
20.01.2009, 13:31
to __etc: ну прямо мордой об асфальт.

джонатан
20.01.2009, 19:53
Компоненты используем?
Только Tween class

Понимаете! Весь прикол в том, что глючить начинает, толкьо после того, как я эту флешку загружаю в другую. Либо еогда помещаю на уровень глубже. А так когда все из корня, не глючит.

iNils
20.01.2009, 19:55
А что показывает?
trace (targ._parent.getNextHighestDepth())

джонатан
21.01.2009, 18:17
this.onLoadStart = function(targ:MovieClip) {
if(prelN > 0) {
targ._parent.attachMovie("prel", "preloader" + prelN, targ._parent.getNextHighestDepth());
targ._parent["preloader" + prelN]._x = ((prevWidth + LV) * (prelN - 1)) + prevWidth + LV;
} else {
targ._parent.attachMovie("prel", "preloader" + prelN, targ._parent.getNextHighestDepth());
}
trace ("! " + targ._parent.getNextHighestDepth());
targ._parent["preloader" + prelN]._y = - 8;
}


OUTPUT:


! 16003
! 16004
! 16005
! 16006
! 16007
! 16008
! 16009
! 16010
! 16011
! 16012
! 16013
! 16014
! 16015
! 16016
! 16017
! 16018
! 16019
! 16020
! 16021
! 16022
! 16023
! 16024
! 16025
! 16026
! 16027
! 16028
! 16029
! 16030
! 16031
! 16032
! 16033
! 16034
! 16035
! 16036
! 16037
! 16038
! 16039
! 16040
! 16041
! 16042
! 16043
! 16044
! 16045
! 16046
! 16047
! 16048
! 16049
! 16050
! 16051
! 16052
! 16053
! 16054
! 16055
! 16056
! 16057
! 16058
! 16059
! 16060
! 16061


А на деле, создается только последний прелоадер.

iNils
21.01.2009, 18:27
А где происходит инкремент prelN?

джонатан
21.01.2009, 21:27
this.onLoadComplete = function() {
prelN ++;
}

this.onLoadInit = function() {
LoadImages();
}

function LoadImages() {
preview_mc.createEmptyMovieClip(iZ, 16000 + iZ);
preview_mc[iZ].flagLoaded = false;
mcl.loadClip(PhotoArr[iZ], preview_mc[iZ]);
iZ ++;
}