alterei o codigo inicial, substituindo addelement por addchild e dá o mesmo erro.
sim, com o ultimo snippet de código está a funcionar. On Aug 11, 3:24 pm, Nuno Rosa <[email protected]> wrote: > 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.
