Se cmpItemCoverflow estender Panel, sim, deveria deixar de disparar TypeError.
Com este ultimo snippet, se adicionares mais que um ficas com um coverflow funcional? O método addElement é definido na classe Container e não vejo nenhum override tanto em BasePV3DContainer como em CoverFlowContainer. Experimenta com o addChild como falei anteriormente. Em 11 de agosto de 2010 15:00, João Cardoso <[email protected]>escreveu: > relativamente ao usar a informacao do array, e o proximo passo, > primeiro queria construir esta parte. > > estive a efectuar uns testes com isto com este codigo funciona, mas > não com o original: > > var panelcurso:Panel= new Panel(); > panelcurso.width=300; > panelcurso.height=300; > > var lblNomeCurso:Label= new Label(); > lblNomeCurso.id="lblNomeCurso"; > lblNomeCurso.text= "asd"; > > var lblDataCurso:Label= new Label(); > lblDataCurso.id="lblDataCriacao"; > lblDataCurso.text="xpto"; > > panelcurso.addElement(lblNomeCurso); > panelcurso.addElement(lblDataCurso); > > cursoscoverflow.addElement(panelcurso); > > > > o que é diferente do meu componente? > sao os dois um objecto panel....logo deveriam funcionar certo???? > > > On Aug 11, 2:52 pm, Nuno Rosa <[email protected]> wrote: > > a classe cmpItemCoverflow precisa implementar o interface > INavigatorContent, > > dai vem o erro. > http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx... > > > > mas dando uma vista de olhos pelo código do CoverFlowContainer, tens de > > utilizar o método *addChild* e podes adicionar desde que cmpItemCoverflow > > seja um displayobject (Sprite, Bitmap, etc) > > > > *cursoscoverflow.addChild(**coverflowitem);* > > > > Finalmente no ciclo for não era suposto usares informação da colecção > > ArrListaCursos? > > > > *//BasePV3DContainer.as**override** **public** **function** > > **addChild**(**child**:**DisplayObject**)**:**DisplayObject** **{* > > > > * **var** **child**:**DisplayObject** **=** > > **super**.**addChild**(**child**)**; > > > > **if**(**reflectionEnabled**)** **{** > > **var** **reflMaterial**:**MovieMaterial** **=** > > **new** **ReflectionFlexMaterial**(**child**)**; > > > > **var** **reflection**:**Plane** **=** **new** > > **Plane**(**reflMaterial**, **child**.**width**, **child**.**height**, > > **segments**, **segments**)**; > > **scene**.**addChild**(**reflection**)**; > > > > **objectsToReflections**[**child**]** **=** > **reflection**; > > **}** > > > > **var** **material**:**MovieMaterial** **=** **new** > > **FlexMaterial**(**child**, **true**)**; > > **material**.**smooth** **=** **true**; > > > > **var** **plane**:**Plane** **=** **new** > > **Plane**(**material**, **child**.**width**, **child**.**height**, > > **segments**, **segments**)**; > > **scene**.**addChild**(**plane**)**; > > > > **containersToObjects**[**plane**.**container**]** **=** > **child**; > > > > **//once the Plane is added to the scene we can access the > > container property, which we use to handle** **//mouse > > clicks** > > **plane**.**container**.**addEventListener**(**MouseEvent**.**CLICK**, > > **containerClicked**)**; > > > > **objectsToPlanes**[**child**]** **=** **plane**; > > > > **return** **child**; > > **}* > > > > Em 11 de agosto de 2010 14:23, João Cardoso <[email protected] > >escreveu: > > > > > estive a fazer debug e a procura de referencia ao INavigatorContent e > > > não tenho lá nada > > > > > o que faço então adiciono o interface nos imports? > > > > > On 11 Ago, 14:15, Nuno Rosa <[email protected]> wrote: > > > > o cmpItemCoverflow implementa o interface INavigatorContent? > > > > > > Em 11 de agosto de 2010 14:04, João Cardoso <[email protected] > > > >escreveu: > > > > > > > boas tardes. > > > > > Estou a tentar implementar um coverflow no flex e estou com uns > > > > > ligeiros problemas. > > > > > usei este componente como base. > > > > >http://dougmccune.com/blog/2007/11/03/coverflow-flex-component/ > > > > > > > estou a tentar que seja preenchido dinamicamente consoante o que > tenho > > > > > num arraycollection > > > > > para tal estou a usar este codigo: > > > > > > > // ciclo para preencher > > > > > > > for (var > > > > > i:int=0;i<ArrListaCursos.length;i++){ > > > > > > > var > > > coverflowitem:cmpItemCoverflow= > > > > > new cmpItemCoverflow(); > > > > > > > cursoscoverflow.addElement(coverflowitem); > > > > > > > } > > > > > // altera as propriedades do objecto > > > > > > > coverscrollbar.maxScrollPosition=cursoscoverflow.numChildren-1; > > > > > > > coverscrollbar.scrollPosition=cursoscoverflow.selectedIndex; > > > > > cursoscoverflow.selectedIndex=0; > > > > > // > > > > > > > // altera as propriedades do > componente > > > > > cursoscoverflow.segments= 6; > > > > > // > > > > > > > o coverflowitem e o meu componente que estou a tentar adicionar > > > > > dinamicamente. > > > > > mas ao tentar isto sou presenteado com este erro: > > > > > TypeError: Error #1034: Type Coercion failed: cannot convert > > > > > coverflow::cmpitemcoverf...@139e2851 to mx.core.INavigatorContent. > > > > > at mx.containers::ViewStack/get > selectedChild()[E:\dev\4.0.0\frameworks > > > > > \projects\framework\src\mx\containers\ViewStack.as:628] > > > > > at mx.containers::ViewStack/instantiateSelectedChild()[E:\dev > > > > > > \4.0.0\frameworks\projects\framework\src\mx\containers\ViewStack.as: > > > > > 1242] > > > > > at > mx.containers::ViewStack/commitProperties()[E:\dev\4.0.0\frameworks > > > > > \projects\framework\src\mx\containers\ViewStack.as:750] > > > > > at > mx.core::UIComponent/validateProperties()[E:\dev\4.0.0\frameworks > > > > > \projects\framework\src\mx\core\UIComponent.as:7772] > > > > > at mx.managers::LayoutManager/validateProperties()[E:\dev > > > > > > \4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as: > > > > > 572] > > > > > at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev > > > > > > \4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as: > > > > > 700] > > > > > at > mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev > > > > > > \4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as: > > > > > 1072]. > > > > > > > alguem me pode dar uma ajuda com este problema? > > > > > obrigado > > > > > > > -- > > > > > Recebeu esta mensagem porque está inscrito no grupo "Mailing List > da > > > > > Comunidade Portuguesa de Rich Internet Applications -www.riapt.org > " > > > dos > > > > > Grupos do Google. > > > > > > > Para publicar uma mensagem neste grupo, envie um e-mail para > > > > > [email protected]. > > > > > Para anular a inscrição neste grupo, envie um e-mail para > > > > > [email protected]<riapt%[email protected]> > <riapt%[email protected]<riapt%[email protected]> > >< > > > riapt%[email protected]<riapt%[email protected]> > <riapt%[email protected]<riapt%[email protected]> > > > > > >. > > > > > Para ver mais opções, visite este grupo em > > > > >http://groups.google.com/group/riapt?hl=pt-PT. > > > > > -- > > > Recebeu esta mensagem porque está inscrito no grupo "Mailing List da > > > Comunidade Portuguesa de Rich Internet Applications -www.riapt.org" > dos > > > Grupos do Google. > > > > > Para publicar uma mensagem neste grupo, envie um e-mail para > > > [email protected]. > > > Para anular a inscrição neste grupo, envie um e-mail para > > > [email protected]<riapt%[email protected]>< > riapt%[email protected]<riapt%[email protected]> > >. > > > Para ver mais opções, visite este grupo em > > >http://groups.google.com/group/riapt?hl=pt-PT. > > -- > Recebeu esta mensagem porque está inscrito no grupo "Mailing List da > Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos > Grupos do Google. > > Para publicar uma mensagem neste grupo, envie um e-mail para > [email protected]. > Para anular a inscrição neste grupo, envie um e-mail para > [email protected] <riapt%[email protected]>. > Para ver mais opções, visite este grupo em > http://groups.google.com/group/riapt?hl=pt-PT. > > -- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Para anular a inscrição neste grupo, envie um e-mail para [email protected]. Para ver mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT.
