Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   for each внутри контейнера (http://www.flasher.ru/forum/showthread.php?t=215618)

Godwarlock 26.06.2018 03:22

for each внутри контейнера
 
Подскажите пожалуйста, почему не работает такой способ получения чилда через for each?

Код AS3:

var container:Sprite = new Sprite();
addChild(container);
var test_sprite:MyClassSprite = new MyClassSprite();
container.addChild(test_sprite);
 
for each(var myClass:MyClassSprite in container)
{
  trace(myClass);
}


alexandrratush 26.06.2018 10:17

Потому что этот тип цикла перечисляет все свойства объекта container (numChildren, alpha, visible...) Используйте for.

RedHead90 26.06.2018 13:56

Цитата:

Потому что этот тип цикла перечисляет все свойства объекта container (numChildren, alpha, visible...) Используйте for.
Из документации: Инструкция цикла for each..in выполняет итерацию только через динамические, а не фиксированные, свойства объекта.

Godwarlock 26.06.2018 14:21

RedHead90 объявил класс dynamic. Результата нет.
alexandrratush Да походу так и придется

RedHead90 26.06.2018 14:42

Godwarlock, а какого результата ты ждал? Моё сообщение о том, что цикл for each..in не перечисляет такие поля, как numChildren, alpha, visible, как пишет alexandrratush.

alexandrratush 26.06.2018 15:31

Да, RedHead90 правду говорит. Ошибся я. :(
Используйте цикл for в связке с numChildren и getChildAt(). Так можно перебрать все объекты в контейнере.


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

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