Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 08.08.2007, 22:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 21  
etc
Et cetera
 
Аватар для etc

Регистрация: 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();
}

Старый 09.08.2007, 17:13
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 22  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: 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.


Старый 09.08.2007, 17:17
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 23  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Переделать геттер в метод и передавать ссылку на DisplayObject, тот же Stage. Все будет работать, не надо ла-ла

Старый 09.08.2007, 17:27
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 24  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: 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);

Посмотри сколько чилдов ты увидишь =)))


Старый 09.08.2007, 17:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 25  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну безусловно один. А что вы мне пытаетесь доказать? Я никак не пойму.
Что такое массив я и без вас знаю. Вот применять его нужно только там, где он действительно требуется и осмысленно, а не везде и всюду. В противном случае утечки памяти и прочие радости жизни возникнут очень быстро.

И вы тему читали? Просят найти все объкты на сцене. Живущие в памяти никого не интересуют.


Последний раз редактировалось etc; 09.08.2007 в 17:36.
Старый 09.08.2007, 17:36
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 26  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Гхм .... резко Вы поменяли тему =) ладно, думаю все уже и так все поняли. А объяснить я пытаюсь следущее, что объекты не являющиеся чилдами, кроме как через ссылки - и описанные выше способы никак увидеть нельзя. Особенно через getChildAt и т.д. ... А утечки памяти выходят лишь при неумелом обращении с сылками. Ну и при использовании ликерских классов. Если не удаляем евенты, соответственно, и т.д.

Старый 09.08.2007, 17:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 27  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
ALiEN_, прочтите внимательно тему и что хотел автор. Ваши ссылки в массивах ему нахрен не нужны. Ибо у него просто нет никаких ссылок.

Старый 09.08.2007, 17:50
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 28  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Я конечно извиняюсь, очевидно это все оффтопик =) но с поста номер 20, я задал достаточно простой вопрос, и в посте 21, видимо получил не совсем тот ответ =))

А как по Вашему - под объектами сцены здесь очевидно понимаются все объекты или только избранные?? 8)

Объекты addChild() или вообще все объекты?? Ведь НЕ чилдовые объекты сцены, все равно являются объектами, и ссылки на них находятся на сцене =)



Так что действительно надо бы еще раз просмотреть всю ветку ответов, а так же то что хотел автор "Как из класса "увидеть" объекты сцены?" =)))


Последний раз редактировалось ALiEN_; 09.08.2007 в 18:00.
Старый 09.08.2007, 18:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 29  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Объектами сцены являются те объекты, которые на ней находятся. Под объектом подразумевается любой интерактивный визуальный элемент, а не любой объект ActionScript. Интерактивные объекты, не лежащие на сцене лишь существуют в пределах видимости конструктора/метода или лежат в массиве. Про них речь не идет вообще.

Старый 09.08.2007, 18:13
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 30  
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
Объекты типа Array - тоже находятся на сцене, если они там созданы =)) и объекты типа Object... или это не так?


Последний раз редактировалось ALiEN_; 09.08.2007 в 18:16.
Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 20:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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