![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
private function get objectNames():Array {
var count:uint = this.numChildren;
var out:Array = [];
while (count--) {
out.push(this.getChildAt(count).name);
}
return out.reverse();
}
![]() |
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Этот пример работатать не будет =) Я конечно не гуру, но в хелпе вот написано:
numChildren property numChildren:int [read-only] Language version: ActionScript 3.0 Player version: Flash Player 9 Returns the number of children of this object. Что это свойство возвращает нам колличество чилдов объекта. А как я писал раньше массив ссылок дает нам возможность получать доступ к объектам не являющимися ничьими чилдами. Кстати, даже если мы просто захотим получить массив чилдов со stage, то даже в этом случае, твой ппример работать не будет. Потому что если твой метод вставить в MyClass, то мы никак не увидим чилдов stage. А судя повсему получим лишь чилдов нашего MyClass. ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Переделать геттер в метод и передавать ссылку на DisplayObject, тот же Stage. Все будет работать, не надо ла-ла
![]() |
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Не будет работать =) как там в анекдоте? Нет глазок нет мультиков =)...
Берем предыдущий код: var arrayLinks:Array = new Array(); var o1 = new Sprite(); o1.name = "myObjectName1"; arrayLinks.push(o1); var o2 = new Shape(); o2.name = "myObjectName2"; arrayLinks[1] = o2; var o3 = new MovieClip(); o3.name = "myObjectName3"; addChild(o3); arrayLinks.unshift(o3); trace(stage.numChildren); Посмотри сколько чилдов ты увидишь =))) ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну безусловно один. А что вы мне пытаетесь доказать? Я никак не пойму.
Что такое массив я и без вас знаю. Вот применять его нужно только там, где он действительно требуется и осмысленно, а не везде и всюду. В противном случае утечки памяти и прочие радости жизни возникнут очень быстро. И вы тему читали? Просят найти все объкты на сцене. Живущие в памяти никого не интересуют. Последний раз редактировалось etc; 09.08.2007 в 17:36. |
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Гхм .... резко Вы поменяли тему =) ладно, думаю все уже и так все поняли. А объяснить я пытаюсь следущее, что объекты не являющиеся чилдами, кроме как через ссылки - и описанные выше способы никак увидеть нельзя. Особенно через getChildAt и т.д. ... А утечки памяти выходят лишь при неумелом обращении с сылками. Ну и при использовании ликерских классов. Если не удаляем евенты, соответственно, и т.д.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ALiEN_, прочтите внимательно тему и что хотел автор. Ваши ссылки в массивах ему нахрен не нужны. Ибо у него просто нет никаких ссылок.
|
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Я конечно извиняюсь, очевидно это все оффтопик =) но с поста номер 20, я задал достаточно простой вопрос, и в посте 21, видимо получил не совсем тот ответ =))
А как по Вашему - под объектами сцены здесь очевидно понимаются все объекты или только избранные?? 8) Объекты addChild() или вообще все объекты?? Ведь НЕ чилдовые объекты сцены, все равно являются объектами, и ссылки на них находятся на сцене =) Так что действительно надо бы еще раз просмотреть всю ветку ответов, а так же то что хотел автор "Как из класса "увидеть" объекты сцены?" =))) Последний раз редактировалось ALiEN_; 09.08.2007 в 18:00. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Объектами сцены являются те объекты, которые на ней находятся. Под объектом подразумевается любой интерактивный визуальный элемент, а не любой объект ActionScript. Интерактивные объекты, не лежащие на сцене лишь существуют в пределах видимости конструктора/метода или лежат в массиве. Про них речь не идет вообще.
|
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Объекты типа Array - тоже находятся на сцене, если они там созданы =)) и объекты типа Object... или это не так?
Последний раз редактировалось ALiEN_; 09.08.2007 в 18:16. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|