![]() |
Вызов метода объекта, находящегося в массиве
Добрый день,
столкнулся с неожиданной проблемой: не знаю, как вызвать метод из объекта, который находится в массиве. В AS3 в массиве можно держать переменные любых типов в отличии от с++. А посему инструкция someArray[i].myMethod() не годится здесь. Подскажите как? PS ну например создал массив, в него запихнул 10 спрайтов. Далее где-то в программе в цикле потребовалось для каждого обеъекта из массива, например, вызвать метод beginfill(color, alpha). Как? |
Почему не годится someArray[i].myMethod() ?
|
Цитата:
|
Проверить на тип объекта в массиве и вызывать нужный метод в зависимости от типа. typeof (для простых), is.
|
Предположим: someArray = [a:myObj, b:myObj, c:int, d:Sprite];
Вызываем: someArray[0].myMethod() //Круто! someArray[1].myMethod() //Круто! someArray[2].myMethod() //Бред... someArray[3].myMethod() //Бред... К тому же ставя точку (.) в списке доступных свойств моего метода нет. |
Код AS3:
true true false |
а, да. Можно ещё проверять наличие метода:
Код AS3:
|
Цитата:
|
DaFive, ни одни из редакторов такое не предсказывает для Array.
|
Ну если к типу не привести, то да.
я почему-то подумал не для элемента массива, а к объекту. |
| Часовой пояс GMT +4, время: 01:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.