Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

David Vaz

criar função

Recommended Posts

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.