Показать сообщение отдельно
Старый 21.12.2009, 11:34
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Если оставить _root, то все так и будет - будет только последний отображаться.
Вы вообще понимаете метод getNextHighestDepth() и для чего он служит?
Если не совсем, впишите в цикле строку
Код AS1/AS2:
trace (_root.getNextHighestDepth());
и посмотрите, что отобразит trace.

Если опять не очень понятно, то скажу:

Когда вы первый раз аттачите _button, то для задания уровня используете _root.getNextHighestDepth(), который возвращает "1" (Поскольку в _root на уровне "0" уже находится мувик Brand). То есть аттачите в Brand, а номер свободного уровня ищете в _root. Поскольку на _root это "1", в Brand аттач происходит на уровень 1.

Потом, циклом вы аттачите в Brand еще один мувик _button, но следующий свободный уровень ищете не в Brand, а опять-таки в _root. А на _root 1-й уровень как был свободным, так и остался, ведь вы его не заняли, аттачили-то на 1-й уровень в Brand.
Поэтому _root.getNextHighestDepth() вам честно возвращает опять "1", и на 1-й уровень в Brand лепится уже вторая _button. А ведь уровень-то уже занят предыдущей _button! Поэтому предыдущая вытесняется новым.

И т.д., и в результате остается только последний приаттаченный мувик на уровне "1" мувика Brand.

Все это равносильно тому, что вы просто напишите такую строку:
Код AS1/AS2:
var mClip = Brand.attachMovie( '_button', 'Level-1-' + iCounter, 1 );
то есть 1 вместо _root.getNextHighestDepth()


Последний раз редактировалось mooncar; 21.12.2009 в 11:43.