![]() |
вопрос по addChild
если:
var s:Sprite = new Sprite(); var u:Box= new Box(); // например Box то u.addChild(s); вызывает ошибку cannot convert flash.display::Sprite@854e7e6 to mx.core.IUIComponent. Хотя, по идее, у метода addChild(val: DisplayObject). Понятно, что Sprite не ипмплементирует mx.core.IUIComponent, а, как видно, контейнер Box этого хочет. Но как тогда быть, если я хочу "прибить" Sprite instance к Box instance? (например, нарисовать че-нить в Sprite программно, а потом засунуть в Box). |
Box - должен быть наследован от Sprite
|
в том то и дело, что Box - это mx.containers.Box, который наследуется от Container -> UIComponent -> Sprite.
Но, факт есть, возникает вышеописанная ошибка. UP! |
в классе mx.core.Container метод addChild перегружен - не смотря на то что в документации он принимает DisplayObject, скорее всего addChild (child:IUIComponent) или ошибка возникает внутри переписанного метода, где пытаются привести аргумент к IUIComponent
|
ок, это понятно.
Но как тогда быть? Т.е. я не могу добавить объект Sprite, MovieClip... (все , что выше UIComponent'ов в цепочке наследования) как child в какой-нибудь UIComponent. В принципе, вопрос был в этом. Мне кажется, что такая ситуация "не есть хорошо") |
такая ситуация наблюдается только с instance'ами наследников mx.core.Container.
C наследиками UIComponent (например, Button) все нормально |
Цитата:
|
На уровне UIObject это реализовано так:
1. Каждый компонент -- визуальный класс (наследним мувиклипа). 2. Создание включает в себя либо аттач, либо createEmptyMovieClip c Object.registerClass Поэтому не вижу причин не цеплять простейшие классы. Посмотрю позднее, сейчас некогда. |
Цитата:
Миша, ты про что это :) этож АС3 :) |
А ты думаешь внутри везде все другое?:) У меня вот нет 100% уверенности
|
| Часовой пояс GMT +4, время: 03:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.