Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Уровень клипа. (http://www.flasher.ru/forum/showthread.php?t=138378)

Боня 06.04.2010 15:08

Уровень клипа.
 
У меня есть клип который находится на рабочем поле(stage) и после загрузки ролика на рабочее поле динамически крепится ещё несколько клипов. Так вот этот клип перекрывается другими, мне же нужно наоборот. Манипулировать клипом получается, Т.е. .x, .y, .visible и т.д. работает. А вот clip.level = 999; не срабатывает.
Как мне сделать так, что бы этот клип перекрывал те что прикреплены динамически после запуска?

dmitriev 06.04.2010 15:31

Код AS3:

container.setChildIndex(clip, container.numChildren - 1);


Боня 06.04.2010 15:56

dmitriev
Объясните пожалуйста.
clip - имя уже существующего клипа?
container - что за контейнер?
container.numChildren - 1 (уровень)? И почему тогда "-1"?

koIIImarik 06.04.2010 16:17

2 Боня:
1) К не существующему клипу нельзя будет обратиться. Поэтому, да, это имя существующего клипа.
2) Контейнер для клипа clip, т.е. родительский клип.
3) Потому что, нумерация уровней идёт с 0, а свойство numChildren возвращает число равное количеству дочерних клипов (т.е. 0, 1, 2, 3 и т.п., по аналогии со свойством length у массивов).

Уровень, на который вы хотите переместить клип не может быть больше уровня последнего самого «высокого» элемента, а так как нумерация уровней идёт с 0, то номер самого «высокого» уровня будет numChildren - 1 (количество дочерних клипов минус 1). Т.е. если у нас 1 клип, то он находится на уровне 0, если 2 клипа, то на уровнях 0 и 1 и т.п.

А вообще, советую почитать книжки по AS3, например Колин Мук или хотя бы Сборник рецептов, Сборник рецептов может очень помочь вам с решением подобных типичных задач.

Dezar 06.04.2010 16:25

Цитата:

Уровень, на который вы хотите переместить клип не может быть больше уровня последнего самого «высокого» элемента,
чо-то я не понял.
а если мне надо..чтобы мои объект имел номер слоя еще выше чем уже есть???тогда как быть?опускать все другие?))))))

Боня 06.04.2010 16:37

dmitriev
koIIImarik
Спасибо!!!

Добавлено через 15 минут
Оно ещё и заработало %)
Ещё раз спасибо!

dmitriev 06.04.2010 16:53

Dezar

Посмотрите тут методы, работать с глубиной очень просто, гораааздо проще чем в AS2.

Dezar 06.04.2010 17:01

спасибо


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

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