![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2007
Сообщений: 183
|
Всем добрый день!
Есть вот такой код: if(data is ImageData) { sprite = new Image(ImageData(data)); }else if(data is TextBoxData) { sprite = new TextBox(TextBoxData(data)); } else if(data is ShapeData) { sprite = new ShapeSprite(ShapeData(data)); }else if(data is SpriteData){ sprite = SpriteData(data).getSpriteInstance(); }else { trace("DisplayItem.createDiasplayElement(data)>> unknown data type!!!"); return; } this.admitSprite(sprite); ImageData, TextBoxData, ShapeData - все наследуются от SpriteData И поэтому если код будет немного другого порядка: if(data is ImageData) { sprite = new Image(ImageData(data)); }else if(data is SpriteData){ sprite = SpriteData(data).getSpriteInstance() }else if(data is TextBoxData) { sprite = new TextBox(TextBoxData(data)); } else if(data is ShapeData) { sprite = new ShapeSprite(ShapeData(data)); }else { trace("DisplayItem.createDiasplayElement(data)>> unknown data type!!!"); return; } this.admitSprite(sprite); else if(data is SpriteData){ sprite = SpriteData(data).getSpriteInstance(); ничего не отработает Как в таком случае быть? Может кто подскажет? |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
заведите в SpriteData метод
в каждом наследнике переопределите этот метод так как надо напрмер в TextBox тогда весь ваш код будет выглядеь так
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 183
|
Спасибо!
Хороший ход. И код в ф-и короче Точнее в SpriteData и был такой метод Только вод в других что то не сообразил переписать Последний раз редактировалось Doctor76; 11.02.2010 в 17:49. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|