eronventer 2 Denunciar post Postado Outubro 22, 2009 Ae galera!! Estou carregando um imagem externa, essa imagem vem de um arquivo XML, mas eu preciso resgatar a altura e a largura da imagem, como eu faria isso? loadPeq.load(new URLRequest("/upload/produtos/grd/"+listaDados[i].foto)); produto.foto.addChild(loadPeq); Compartilhar este post Link para o post Compartilhar em outros sites
inx 4 Denunciar post Postado Outubro 22, 2009 Pesquise movieclipoader... Compartilhar este post Link para o post Compartilhar em outros sites
eronventer 2 Denunciar post Postado Outubro 22, 2009 Eu consegui fazer funcionar, mas em partes...isso pq o posicionamento esta acontecendo somente a partir do segundo registro do XML...pq será? var loadPeq:Loader = new Loader(); loadPeq.contentLoaderInfo.addEventListener(Event.COMPLETE, function(){ produto.foto.x = (produto.fundo.width-produto.foto.width)/2; produto.foto.y = (produto.fundo.height-produto.foto.height)/2; }); loadPeq.load(new URLRequest("/upload/produtos/grd/"+listaDados[i].foto)); produto.foto.addChild(loadPeq); Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 23, 2009 Coloque no event INIT não no complete ;) E para ficar mais organizadinho faça assim: var loadPeq:Loader = new Loader(); loadPeq.contentLoaderInfo.addEventListener(Event.INIT, onLoadInit); function onLoadInit(Event){ produto.foto.x = (produto.fundo.width-produto.foto.width)/2; produto.foto.x = (produto.fundo.height-produto.foto.height)/2; } loadPeq.load(new URLRequest("/upload/produtos/grd/"+listaDados[i].foto)); produto.foto.addChild(loadPeq);Abraços ;) Compartilhar este post Link para o post Compartilhar em outros sites
inx 4 Denunciar post Postado Outubro 23, 2009 lol.. agora q vi q era AS3 ahuhauhau rs Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Outubro 23, 2009 var loadPeq:Loader = new Loader(); loadPeq.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoader); function handleLoader(e:Event):void { produto.foto.x = (e.currentTarget.content.width)/2; produto.foto.y = (e.currentTarget.content.height)/2; } loadPeq.load(new URLRequest("/upload/produtos/grd/"+listaDados[i].foto)); produto.foto.addChild(loadPeq); Coloque no event INIT não no complete ;)Event.INIT só faz sentido se você estiver carregando um swf, já que este é disparado especialmente para se ter acesso aos métodos e funções do swf externo sem que ele tenha sido totalmente carregado necessariamente. Compartilhar este post Link para o post Compartilhar em outros sites
eronventer 2 Denunciar post Postado Outubro 23, 2009 brunobispo, Da maneira que você falou funciona normalmente também, porém o posicionamento tbm ocorre somente a partir do segundo registro do XML, muito doido isso...mas dai me veio uma luz e dei uma alterada na função e funcionou!! function handleLoader(e:Event):void { e.currentTarget.content.x = (produto.fundo.width-e.currentTarget.content.width)/2; e.currentTarget.content.y = (produto.fundo.height-e.currentTarget.content.height)/2; } Muito obrigado pela ajuda!! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 23, 2009 var loadPeq:Loader = new Loader(); loadPeq.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoader); function handleLoader(e:Event):void { produto.foto.x = (e.currentTarget.content.width)/2; produto.foto.y = (e.currentTarget.content.height)/2; } loadPeq.load(new URLRequest("/upload/produtos/grd/"+listaDados[i].foto)); produto.foto.addChild(loadPeq); Event.INIT só faz sentido se você estiver carregando um swf, já que este é disparado especialmente para se ter acesso aos métodos e funções do swf externo sem que ele tenha sido totalmente carregado necessariamente. Só para maiores informações. O evento INIT é chamado somente depois do COMPLETE, ele serve para pegar informações do conteudo como, tamanho e outras configurações que você possa procurar saber, não importa se é jpg ou SWF, só nesse evento que você pega os dados. O Complete você também tem acesso a esses dados Eis aqui um exemplo: var loader:Loader = new Loader(); loader.load(new URLRequest('index.jpg')); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.contentLoaderInfo.addEventListener(Event.INIT, onInit); function onComplete(e:Event):void{ trace('Event.Complete'); trace(e.currentTarget.content.x); trace(e.currentTarget.content.width); } function onInit(e:Event):void{ trace('Event.Init'); trace(e.currentTarget.content.x); trace(e.currentTarget.content.width); } addChild(loader); O que você vai ver é que o evento INIT é chamado antes do evento COMPLETE Assim você dependendo da quantidade de coisas carregadas ao mesmo tempo, pode tornar o processo do que você está fazendo mais rápido, ou mais lento. Basta você decidir o que você quer fazer, cada evento tem suas caracteristicas e seus bubbles ;) que podem ser usados de maneiras diferentes. Apesar de aparentemente servirem para a mesma coisa. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Outubro 24, 2009 var loadPeq:Loader = new Loader(); loadPeq.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoader); function handleLoader(e:Event):void { produto.foto.x = (e.currentTarget.content.width)/2; produto.foto.y = (e.currentTarget.content.height)/2; } loadPeq.load(new URLRequest("/upload/produtos/grd/"+listaDados[i].foto)); produto.foto.addChild(loadPeq); Event.INIT só faz sentido se você estiver carregando um swf, já que este é disparado especialmente para se ter acesso aos métodos e funções do swf externo sem que ele tenha sido totalmente carregado necessariamente. Só para maiores informações. O evento INIT é chamado somente depois do COMPLETE, ele serve para pegar informações do conteudo como, tamanho e outras configurações que você possa procurar saber, não importa se é jpg ou SWF, só nesse evento que você pega os dados. O Complete você também tem acesso a esses dados Eis aqui um exemplo: var loader:Loader = new Loader(); loader.load(new URLRequest('index.jpg')); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.contentLoaderInfo.addEventListener(Event.INIT, onInit); function onComplete(e:Event):void{ trace('Event.Complete'); trace(e.currentTarget.content.x); trace(e.currentTarget.content.width); } function onInit(e:Event):void{ trace('Event.Init'); trace(e.currentTarget.content.x); trace(e.currentTarget.content.width); } addChild(loader); O que você vai ver é que o evento INIT é chamado antes do evento COMPLETE Assim você dependendo da quantidade de coisas carregadas ao mesmo tempo, pode tornar o processo do que você está fazendo mais rápido, ou mais lento. Basta você decidir o que você quer fazer, cada evento tem suas caracteristicas e seus bubbles ;) que podem ser usados de maneiras diferentes. Apesar de aparentemente servirem para a mesma coisa. Abraços http://forum.imasters.com.br/index.php?/topic/368366-artigo-eventcomplete-ou-eventinit/ E me desculpem se fui off-topic demais. Compartilhar este post Link para o post Compartilhar em outros sites