Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Henrique

[Resolvido] Problema ao duplicar MovieClip

Recommended Posts

Olá,

 

Estou com um problmea aqui ao duplicar o movie clip, estou criando números para paginação, até aí tudo bem, o problema é gerar o click correto nos Movie Clips criados, o que tenho é isto:

 

- Um MC instanciado de pagina com um texto dinamico dentro para receber no número da página $i na função abaixo;

- Ao duplicar passo o nome de instancia dele de pagina para pagina+$i;

- Ao mesmo tempo que duplico defino o espaço entre um e outro pagina+$i._x = 50*$i;

 

Agora o problema:

eval("pagina"+$i).onRelease = function(){

trace("Pagina"+$i);

}

 

Está funcionando a função onRelease mas não a página certa o $i alí de dentro recebe o último valor do contador ou seja o 10 que está declarado para iniciar,

e preciso que quando eu clique no 1 me retorne 1 , 2 para para e assim sucessivamente, alguma dica?

 

onLoad = paginas(10);

function paginas(valor){

for ($i = 0; $i <= valor; $i++){

duplicateMovieClip("pagina", "pagina"+$i, $i);

eval("pagina"+$i)._x = 50*$i;

eval("pagina"+$i).pg = $i;

eval("pagina"+$i).onRelease = function(){

trace("Pagina"+$i);

}

}

}

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como esta ali dentro do laço "for" o resultado será sempre o último valor mesmo (final do laço)...

Crie um identificador exclusivo para inserir no "onRelease".

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas como criar um identificador exclusivo? porque o identificador do movieClip é o eval("pagina"+$i) outro identificador somente se eu colocar um BTN ou MC dentro do pagina, e mudaria o click para:

 

eval("pagina"+$i).botao.onRelease = function(){

trace("Pagina"+$i);

}

 

Mas mesmo assim não saberei em que número cliquei, mas se eu criar o botão mesmo dentro e nas ações do botão eu colocar

on(Release){

trace(this);

}

 

ele me retorna: _level0.paginacao.pagina1

Aqui tem o que eu quero, teria uma forma de eu aproveitar este resultado ex: retirar _level0.paginacao e deixar somente pagina1, porque assim eu posso fazer funcionar.

 

Obrigado

 

Como esta ali dentro do laço "for" o resultado será sempre o último valor mesmo (final do laço)...

Crie um identificador exclusivo para inserir no "onRelease".

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, criei como dito um outro objeto dentro e no for defini o valor para este objeto:

 

eval("pagina"+$i).clicar = $i;

 

o objeto instanciado como botao fiz o seguinte

 

botao.onRelease = function() {

trace(clicar);

};

 

isto me retorna o número da página corretamente.

 

Obrigado.

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.