David Vaz 0 Denunciar post Postado Fevereiro 16, 2010 preciso criar uma função em uma movie dinamica para abrir uma url tentei fazer com esse metodo mas não consegui createEmptyMovieClip("oi", 1); this.onRollOver=function(){trace("teste")}; alguem sabe como posso resolver isso? Compartilhar este post Link para o post Compartilhar em outros sites
Michel Araújo 0 Denunciar post Postado Fevereiro 16, 2010 põe o nome do MC, e não o this. Tipo: createEmptyMovieClip("oi", 1); oi.onRollOver=function(){ trace("teste") }; claro que nesse caso não vai ter onde clicar. Se for o mesmo daquela sua dúvida anterior (criando os MC dentro do for, e carregando as imagens externamente), faz da mesma forma que falei: _root['oi'+i].onRollOver = function(){ ... ... } Compartilhar este post Link para o post Compartilhar em outros sites
David Vaz 0 Denunciar post Postado Fevereiro 16, 2010 põe o nome do MC, e não o this. Tipo: createEmptyMovieClip("oi", 1); oi.onRollOver=function(){ trace("teste") }; claro que nesse caso não vai ter onde clicar. Se for o mesmo daquela sua dúvida anterior (criando os MC dentro do for, e carregando as imagens externamente), faz da mesma forma que falei: _root['oi'+i].onRollOver = function(){ ... ... } não funciono =/ Compartilhar este post Link para o post Compartilhar em outros sites
Michel Araújo 0 Denunciar post Postado Fevereiro 17, 2010 então posta o código que você está usando, pq o que você colocou está fazendo um evento rollOver em um movieClip vazio. Isso não funciona mesmo. também diz se gerou algum erro na compilação, qual erro, como se comportou? enfim, tenta ajudar dando detalhes ao pessoal que pode vir aqui tentar te ajudar. Só 'não funcionou' não diz muita coisa =) Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Fevereiro 17, 2010 Oi David, tudo bem? Como o Michel disse, quando você cria um movieclip vazio, ele não tem área para ser clicado, ele precisa de pelo menos um shape para funcionar como hit do movieclip, seria melhor você criar um movieclip com linkage na library e usar o attachMovie, pois ele faz pega o movieclip que está na library e coloca uma cópia dele no palco, isso acho que deve resolver melhor a sua vida, ou seria até melhor explicar o que pretende fazer para que a gente te ajude e/ ou ensine a fazer do jeito certo, assim saimos do "chutómetro" abraço, Carneirinho Compartilhar este post Link para o post Compartilhar em outros sites
David Vaz 0 Denunciar post Postado Fevereiro 17, 2010 Oi David, tudo bem? Como o Michel disse, quando você cria um movieclip vazio, ele não tem área para ser clicado, ele precisa de pelo menos um shape para funcionar como hit do movieclip, seria melhor você criar um movieclip com linkage na library e usar o attachMovie, pois ele faz pega o movieclip que está na library e coloca uma cópia dele no palco, isso acho que deve resolver melhor a sua vida, ou seria até melhor explicar o que pretende fazer para que a gente te ajude e/ ou ensine a fazer do jeito certo, assim saimos do "chutómetro" abraço, Carneirinho desculpe por não conseguir informar de forma clara o erro vo posta aqui o codigo System.useCodepage = true; // habilita acentos; var arquivo:XML = new XML(); // cria a variável para ler o xml; arquivo.load("arquivo.xml"); // manda a variável ler o arquivo.xml salvo anteriormente; arquivo.ignoreWhite = true; // ignora espaços em branco no XML arquivo.onLoad = function() { // após a leitura do XML, executa a ação: _global.numero = arquivo.firstChild.childNodes.length; i = 0; x = 5; while (i<numero) { // puxa imagem banner = (this.childNodes[0].childNodes[i].attributes.imagem); link = (this.childNodes[0].childNodes[i].attributes.link); // cria movie em branco _root.imagens['banners'+i].createEmptyMovieClip("oi"+i, i); // gera imagem no movie branco _root.imagens['banners'+i]['oi'+i].loadMovie(banner, "oi"+i); // desloca posição do movie _root.imagens['banners'+i]['oi'+i]._x = x; _root.imagens['banners'+i]._x = 0; _root.imagens['banners'+i]._y = 5; _root.imagens['banners'+i].onPress = function () { getURL(link,"_blank") ; } i++; x = x+100; } }; agora o problema está em criar o link no getURL na função todos ficaram com o ultimo indice pensei aqui que ficaria com valores diferentes por causa do loop sabe como posso resolver isso? Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Fevereiro 17, 2010 Sei sim, a variavel que você está criando como link está sendo mudada durante o link, então o que você precisa fazer é criar essa variavel dentro do botão e mandar o botão dar um getURL para o link do botão, assim cada botão terá o seu link, ficaria mais ou menos assim: System.useCodepage = true; // habilita acentos; var arquivo:XML = new XML(); // cria a variável para ler o xml; arquivo.load("arquivo.xml"); // manda a variável ler o arquivo.xml salvo anteriormente; arquivo.ignoreWhite = true; // ignora espaços em branco no XML arquivo.onload = function() { // após a leitura do XML, executa a ação: _global.numero = arquivo.firstChild.childNodes.length; i = 0; x = 5; while (i<numero) { // puxa imagem banner = (this.childNodes[0].childNodes[i].attributes.imagem); // cria movie em branco _root.imagens['banners'+i].createEmptyMovieClip("oi"+i, i); // gera imagem no movie branco // Cria o link _root.imagens['banners'+i].link = (this.childNodes[0].childNodes[i].attributes.link); _root.imagens['banners'+i]['oi'+i].loadMovie(banner, "oi"+i); // desloca posição do movie _root.imagens['banners'+i]['oi'+i]._x = x; _root.imagens['banners'+i]._x = 0; _root.imagens['banners'+i]._y = 5; _root.imagens['banners'+i].onPress = function () { // Aqui ele vai se referir ao link do botão e não mais ao link do loop getURL(this.link,"_blank") ; } i++; x = x+100; } }; Veja se assim funciona Compartilhar este post Link para o post Compartilhar em outros sites
David Vaz 0 Denunciar post Postado Fevereiro 17, 2010 funcionou sim mas queria saber o que faz essa linha _root.imagens['banners'+i].link = (this.childNodes[0].childNodes.attributes.link); não intendi o que isso fez obrigado ae pela força carneirinho, michael. Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Fevereiro 17, 2010 você criou movieclips dinamicamente usando esse nome pra ele _root.imagens['banners'+i] , um movieclip pode carregar uma ou mais váriavel, dai eu criei uma variavel link em cada movieclip e cada link terá um link diferente, ficando assim _root.imagens['banners'+i].link = (this.childNodes[0].childNodes.attributes.link); dessa forma no onRelease você acessa o link daquele movieclip, que foi criado apenas pra ele e não o link antigo que você tinha criado dentro do for. Compartilhar este post Link para o post Compartilhar em outros sites