Loma 0 Denunciar post Postado Março 12, 2009 Oi gente to na fase do desespero ja com esse problema. Eu consigo normalmente carregar meu swf externo pra dentro de um movieclip vazio. o problema é que esse swf externo tem um campo de texto chamado txtSO e eu preciso pelo meu arquivo .as externo principal escrever um texto e aparecer dentro do input do swf externo no mc. alguém sabe como? Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Março 12, 2009 Para carregar o swf externo você deve ter adicionado um listener para este carregamento. No método de retorno quando completar o carregamento, tente isso: private function onComplete (e:Event):void { trace(e.target.txtSO); e.target.txtSO.text = "texto"; } Compartilhar este post Link para o post Compartilhar em outros sites
Loma 0 Denunciar post Postado Março 12, 2009 Oi Italo, fiz o que você falou mas nao foi :( deu esse erro: ReferenceError: Error #1069: Propriedade txtSO não encontrada em flash.display.LoaderInfo e não há valor padrão. at ClassUser/onComplete2() Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Março 12, 2009 Cola o código do seu carregando por favor. Fica mais fácil para analisar. Compartilhar este post Link para o post Compartilhar em outros sites
Loma 0 Denunciar post Postado Março 12, 2009 public function OffLineAuthenticate() { var so:SharedObject = SharedObject.getLocal("testeShO"); if (so.data.login == _mcLogin.txtLogin.text && so.data.senha == _mcLogin.txtSenha.text) { _mcLogin.txtAviso.text = so.data.login _mcSWF = new mcSWF(); addChild(_mcSWF) //Carregando Departamento Externo var carregador:Loader = new Loader(); var arquivo:String = "externo.swf"; var requisicao:URLRequest = new URLRequest(arquivo); carregador.load(requisicao); carregador.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete2); _mcSWF.addChild(carregador); } else { _mcLogin.txtAviso.text = "Login incorreto." } } private function onComplete2(event:Event):void { trace(event.target.txtSO); event.target.txtSO.text = "texto"; } Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Março 12, 2009 Não sei porque não está dando certo. Se você der um trace no método onComplete2 no event.target, o que ele retorna? Compartilhar este post Link para o post Compartilhar em outros sites
Loma 0 Denunciar post Postado Março 12, 2009 o trace retorna isso: [object LoaderInfo] to ficando desesperada ja, :( Compartilhar este post Link para o post Compartilhar em outros sites
juligo 0 Denunciar post Postado Março 12, 2009 o trace retorna isso: [object LoaderInfo] to ficando desesperada ja, :( uma das opções é: // da uma nome para seu carregador: carregador.name = "carregador"; // acessando o campo de texto: _mcSWF.getChildByName("carregador").content.txtSO.text = "texto"; // é para funcionar Juliano Compartilhar este post Link para o post Compartilhar em outros sites
Loma 0 Denunciar post Postado Março 12, 2009 Oi Juliano nada ainda. deu esse erro: 1119: Access of possibly undefined property content through a reference with static type flash.display:DisplayObject. Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Março 12, 2009 Descobri para você Paloma hehehehe Quando você faz o load, o evento que ele envia para o onComplete2 tem o conteúdo do seu swf. Ficaria assim: private function onComplete2(event:Event):void { var content:MovieClip = event.target.content as MovieClip; content.txtSO.text = "texto"; } Testa agora e vamos ver se dá certo. Compartilhar este post Link para o post Compartilhar em outros sites
Loma 0 Denunciar post Postado Março 12, 2009 ITALOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Resolveu menino, cara você nao tem noçao do alivio que to agora, eu tava horassssss tentando resolver isso. MUITO OBRIGADA MESMOOOOOOOOO!!!! :) Posso só abusar mais um pouco? me explica melhor? eu sou nova em action script entao nao entendi esse content. Mas muito obrigada mesmo hein! Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Março 12, 2009 hehehehehehehe de nada! Eu não sou expert em action, mas acredito que esse content seja o swf que você loadou, seria tipo um container para guardar e passar para o evento. Se você digitar apenas event. vai aparecer uma janelinha com os métodos que correspondem ao evento loaderInfo, e dentro delas tem a opção de content, que seria o conteúdo do loaderInfo, ou seja, seu swf loadado. Não sei se no editor do Flash aparece esses métodos, eu uso o FlashDevelop para criar minhas classes, e ele lista tudo, muito melhor. Compartilhar este post Link para o post Compartilhar em outros sites
Loma 0 Denunciar post Postado Março 12, 2009 Italo então agora eu preciso fazer o inverso. :) eu entrei com um valor no campo de texto que esta no swf externo txtSO e criei um botao no swf btEnvia. ja coloquei o listener pro botao no evento click. eu preciso que quando clicar eu pegue o valor do campo texto do swf e popule outro campo texto no palco principal. O problema é que como foi dessa forma content eu nao consigo usar essa propriedade fora do escopo da funçao do evento. Pode ajudar? bjsssss Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Março 13, 2009 Declare no começo de sua function Ou seja fora dela var content:MovieClip = new MovieClip(); public function OffLineAuthenticate() { var so:SharedObject = SharedObject.getLocal("testeShO"); if (so.data.login == _mcLogin.txtLogin.text && so.data.senha == _mcLogin.txtSenha.text) { _mcLogin.txtAviso.text = so.data.login _mcSWF = new mcSWF(); addChild(_mcSWF) //Carregando Departamento Externo var carregador:Loader = new Loader(); var arquivo:String = "externo.swf"; var requisicao:URLRequest = new URLRequest(arquivo); carregador.load(requisicao); carregador.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete2); _mcSWF.addChild(carregador); } else { _mcLogin.txtAviso.text = "Login incorreto." } } private function onComplete2(event:Event):void { content = event.target.content as MovieClip; content.txtSO.text = "texto"; } btEnvia.addEventListener(MouseEvent.CLICK, envia); function envia(){ //seu código } Abraços E bons estudos ;) PS: Uma dica, já que você está começando, tudo que for var é preferivel que você declare fora das funções assim elas passam a valer para qualquer outra função. Pois cada var que você criar dentro de uma função só vai valer dentro dessa função e mais nenhuma. Compartilhar este post Link para o post Compartilhar em outros sites
Loma 0 Denunciar post Postado Março 13, 2009 valeu pela dica berseck!!!! Compartilhar este post Link para o post Compartilhar em outros sites