Ir para conteúdo

POWERED BY:

Arquivado

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

Kiluhty

[Resolvido] Contador Decrescente (Pontos de Vida YuGiOh)

Recommended Posts

Bom dia meu amigos do IMasters.

 

Meu problema é o seguinte.

 

Estou com um projeto de fazer um jogo de YuGiOh via flash.

 

Nesse jogo, vou ter uma númeração (que inicia com o número 8000) e este número pode tanto subir quanto descer... no caso, se o número descer para 0, o jogador com esta pontuação, perde.

 

Bem, eu peguei também imagens com os algarismos que quero usar (0,1,2,3,4,5,6,7,8,9) que possui um estilo único de traço. Portanto, quero fazer via flash, um contador de números, que pode subir ou descer, sendo que este contador fique meio que "invisível" para o jogador e que o resultado, o flash desmenbre o número, identifique-o e traga a imagem correspondente ao número que ele trouxer, ou seja, se o contador estiver com o número 5425, ele traga as fotos do 5, 4, 2, 5 alinhados um do lado do outro.

 

Para possíveis dúvidas posteriores, esclareço que gostaria de tentar manter isto em flash mesmo e não utilizar outro software ou programação.

 

Agradeço desde já a atenção.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer seus algarismos e salvar como movieclip com o nome que quiser, sendo 10 movieclips de 0 a 9, depois faça um array onde você pode em cada indice guardar o nome de instancia do movieclip e seu valor numérico, depois rode uma função que conte o total de caracteres do resultado que quer mostrar e monte os números com o resultado desejado.

 

Fiz uma função aqui que ja faz a lista dos arrays de 0 a 9, você só precisa criar os movieclips e instanciar de mc0 até mc9, dai rodando a função ele ja te devolve em sequencia todos os movieclips que precisa para listar um ao lado do outro, acho que ja resolve o seu problem:

 

var arNumeros:Array = new Array();

arNumeros.push({movie: mc0, id: 0});
arNumeros.push({movie: mc1, id: 1});
arNumeros.push({movie: mc2, id: 2});
arNumeros.push({movie: mc3, id: 3});
arNumeros.push({movie: mc4, id: 4});
arNumeros.push({movie: mc5, id: 5});
arNumeros.push({movie: mc6, id: 6});
arNumeros.push({movie: mc7, id: 7});
arNumeros.push({movie: mc8, id: 8});
arNumeros.push({movie: mc9, id: 9});

function montaMovieClips(str):Array{
	
	// Converte o numero para string
	str = str.toString();
	
	var ar:Array = new Array();
	
	// Compara cada letra e associa ao movieclip correspondente
	for(i = 0; i < str.length; i++){
		valor = str.substring(i,i + 1);
		for(a = 0; a < arNumeros.length; a++){
			if(arNumeros[a].id == valor){
				ar.push(arNumeros[a].movie);
			}
		}
	}
	return ar;
}

trace(montaMovieClips(2010))

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer seus algarismos e salvar como movieclip com o nome que quiser, sendo 10 movieclips de 0 a 9, depois faça um array onde você pode em cada indice guardar o nome de instancia do movieclip e seu valor numérico, depois rode uma função que conte o total de caracteres do resultado que quer mostrar e monte os números com o resultado desejado.

 

Fiz uma função aqui que ja faz a lista dos arrays de 0 a 9, você só precisa criar os movieclips e instanciar de mc0 até mc9, dai rodando a função ele ja te devolve em sequencia todos os movieclips que precisa para listar um ao lado do outro, acho que ja resolve o seu problem:

 

var arNumeros:Array = new Array();

arNumeros.push({movie: mc0, id: 0});
arNumeros.push({movie: mc1, id: 1});
arNumeros.push({movie: mc2, id: 2});
arNumeros.push({movie: mc3, id: 3});
arNumeros.push({movie: mc4, id: 4});
arNumeros.push({movie: mc5, id: 5});
arNumeros.push({movie: mc6, id: 6});
arNumeros.push({movie: mc7, id: 7});
arNumeros.push({movie: mc8, id: 8});
arNumeros.push({movie: mc9, id: 9});

function montaMovieClips(str):Array{
	
	// Converte o numero para string
	str = str.toString();
	
	var ar:Array = new Array();
	
	// Compara cada letra e associa ao movieclip correspondente
	for(i = 0; i < str.length; i++){
		valor = str.substring(i,i + 1);
		for(a = 0; a < arNumeros.length; a++){
			if(arNumeros[a].id == valor){
				ar.push(arNumeros[a].movie);
			}
		}
	}
	return ar;
}

trace(montaMovieClips(2010))

abraço

 

 

Valeu!! Acho que esssa função já me dá uma luz no fim do túnel!! rsrs

 

Obrigado pela ajuda!!

 

Abraço!!

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.