Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как избавиться TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать (http://www.flasher.ru/forum/showthread.php?t=138557)

Боня 10.04.2010 19:35

как избавиться TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать
 
TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать main::mashina@1c883481 в main.ptichka.

Код AS3:

function Show_dell(shown_st:String):void
{
        switch(shown_st)
        {
                case 'mashina':
                        for each (var obj_d:mashina in shown_d)
                        {
                                removeChild(obj_d);
                        }
                        break;
                case 'ptichkai':
                        for each (var obj_p:ptichka in shown_d)
                        {
                                removeChild(obj_p);
                        }
                        break;
        }
        shown_d = new Array();
}

Как можно избавиться от подобной ошибки?

wvxvw 10.04.2010 19:49

Очевидно, что коллекция shown_d содержит разные типы объектов, которые нельзя привести друг к другу - значит либо нужно искать общего предка, либо не складывать их вместе.
А еще - имена методов со строчной, имена классов - с прописной, подчерки в именах переменных только в начале, и только для приватных / протектед.

Боня 10.04.2010 20:10

Спасибо, буду искать выход.

tofflife 16.02.2012 12:54

Код AS3:

function Show_dell(shown_st:String):void
{
        var clazz:Class = getDefinitionByName("main." + shown_st);
        for each (var obj_d:DisplayObject in shown_d){
                if (obj_d is clazz){
                        //todo somethig...
                }
                removechild(obj_d);
        }
}



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

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