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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.04.2010, 19:35
Боня вне форума Посмотреть профиль Отправить личное сообщение для Боня Найти все сообщения от Боня
  № 1  
Ответить с цитированием
Боня

Регистрация: Mar 2010
Сообщений: 117
По умолчанию как избавиться 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();
}
Как можно избавиться от подобной ошибки?

Старый 10.04.2010, 19:49
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Очевидно, что коллекция shown_d содержит разные типы объектов, которые нельзя привести друг к другу - значит либо нужно искать общего предка, либо не складывать их вместе.
А еще - имена методов со строчной, имена классов - с прописной, подчерки в именах переменных только в начале, и только для приватных / протектед.
__________________
Hell is the possibility of sanity

Старый 10.04.2010, 20:10
Боня вне форума Посмотреть профиль Отправить личное сообщение для Боня Найти все сообщения от Боня
  № 3  
Ответить с цитированием
Боня

Регистрация: Mar 2010
Сообщений: 117
Спасибо, буду искать выход.

Старый 16.02.2012, 12:54
tofflife вне форума Посмотреть профиль Отправить личное сообщение для tofflife Найти все сообщения от tofflife
  № 4  
Ответить с цитированием
tofflife

Регистрация: Jul 2009
Сообщений: 95
Код 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, время: 20:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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