PDA

Volledige versie bekijken : addChild in Canvas


W0utR
%Europe/Berlin %639 %2010, 16:21
Ik heb een custom component die overerft van het Canvas, in deze component wil ik graag een addChild doen.

Maar telkens wanneer ik dat probeer krijg ik daar een mooie rode error op:
TypeError: Error #1034: Afgedwongen typeomzetting is mislukt: kan flash.display::Sprite@237f6cb9 niet omzetten in mx.core.IUIComponent.
at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::addingChild()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\ core\Container.as:3900]
at mx.core::Container/addChildAt()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\ core\Container.as:2606]
at mx.core::Container/addChild()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\ core\Container.as:2534]
at components::Draggable/drawHandlers()[/Users/W0utR/Sites/2 Devine/semester 2/Major Atelier 4/MOIRE IS NOT ACCEPTABLE/MA4_backend/src/components/Draggable.mxml:52]
at components::Draggable/init()[/Users/W0utR/Sites/2 Devine/semester 2/Major Atelier 4/MOIRE IS NOT ACCEPTABLE/MA4_backend/src/components/Draggable.mxml:27]
at components::Draggable/___Draggable_Canvas1_creationComplete()[/Users/W0utR/Sites/2 Devine/semester 2/Major Atelier 4/MOIRE IS NOT ACCEPTABLE/MA4_backend/src/components/Draggable.mxml:7]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\ core\UIComponent.as:12266]
at mx.core::UIComponent/set initialized()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\ core\UIComponent.as:1577]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\ managers\LayoutManager.as:759]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\ managers\LayoutManager.as:1072]

Is het niet mogelijk om een gewone Sprite te adden in een Canvas?
Enige idee hoe ik dit dan moet doen?

Jan
%Europe/Berlin %660 %2010, 16:50
http://www.sebastiaanholtrop.com/archives/3
http://www.google.be/search?q=addChild+Sprite+to+canvas

Jan

W0utR
%Europe/Berlin %662 %2010, 16:53
Ok, blijkbaar had ik toch niet zo goed gelezen, zat nochtans op die site dat jij meegaf.

Nu is het dus wel gelukt, bedankt Jan.

De oplossing:
this.rawChildren.addChild(sprite);

Ea.Z
%Europe/Berlin %515 %2010, 13:22
Ik weet niet welke oplossing beter is, maar ik gebruikte altijd de 'MovieClipContainer'.

var mcc:MovieClipContainer = new MovieClipContainer();
mcc.addChild(mySprite);
myCanvas.addChild(mcc);