Ir para conteúdo

Arquivado

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

Angelo Rocha

Mapa do Brasil - Realçar Cidades

Recommended Posts

Galera, boa noite, estou com um pequeno problema em flash, nao manjo muito bem e estou tentando alterar um mapa que baixei na net e muito se fala dele aqui nos foruns.

 

A ideira e que o mapa possa aparecer com algumas cidades do Brasil já realçadas, vi ate um topico sobre isso mais o cara que responder mandou usar um FOR com array, bom, eu ja havia tentando isso e nao estou conseguindo de jeito nenhum.

 

 

O que acontece: O mapa começa com todas as cidades do brasil brancas, e isso e definido com um alpha = 0, e quando o mouse passa por cima de qualquer cidade ela obviamente ganha um foco, muda de cor. O que eu quero e distinguir algumas cidades colocando nelas uma cor, tentei usar um array com um for para pegar as cidades desejadas e colocar um alpha de 50 inicialmente para diferencia-las, e nao deu certo, vou postar aqui o codigo AS do mapa original e o que eu alterei, segue abaixo:

 

Original:

function selecaoestados (estado:MovieClip) {
	estado._alpha = 0;
	estado.onRollOver = function () {
		for (var i:Number = 0; i < _level0.siglas.length; i++) {
			if (eval(siglas[i]+'mv') != estado) {
				eval(siglas[i]+'mv')._alpha = 0;
			}
		}
		onEnterFrame = function () {
			estado._alpha += 10;
			if (estado._alpha > 100) {
				onEnterFrame = function(){ null};
			}
		}
	}
	
	estado.onRollOut = function () {
		onEnterFrame = function () {
			estado._alpha -= 10;
			if (estado._alpha < 0) {
				onEnterFrame = function(){ null};
			}	
		}
	}
	
//Aqui basta colocar a sua URL  entre as aspas duplas, que o flash já complementa com as iniciais do estado. 
	estado.onRelease = function (): Void{
		getURL(""+ estado._name.substr(0, 2), "localizador");
	}
}

//chamada função
var siglas:Array = ['AC', 'AL', 'AP', 'AM', 'BA', 'CE', 'DF', 'GO', 'ES', 'MA', 'MT', 'MS', 'MG', 'PA', 'PB', 'PR', 'PE', 'PI', 'RJ', 'RN', 'RS', 'RO', 'RR', 'SP', 'SC', 'SE', 'TO'];

for (var i:Number = 0; i < siglas.length; i++) {
	selecaoestados(eval(siglas[i]+'mv'));
}

Ai modifiquei abaixo, colocando o Array e criando um FOR no topo para que ele fizesse o que eu desejava, mais nao funcionou:

 

function selecaoestados (estado:MovieClip) {
       
       estado._alpha = 0;
       for(num:Number = 0; num < _level0.estadosDiferenciados.lenght; num++){
       	if (eval(estadosDiferenciados[num]+'mv') != estados) {
            eval(estadosDiferenciados[num]+'mv')._alpha = 50;
            }
       }
       estado.onRollOver = function () {
               for (var i:Number = 0; i < _level0.siglas.length; i++) {
                       if (eval(siglas[i]+'mv') != estados) {
                               eval(siglas[i]+'mv')._alpha = 0;
                       }
               }
               onEnterFrame = function () {
                       estado._alpha += 10;
                       if (estado._alpha > 100) {
                               onEnterFrame = function(){ null};
                       }
               }
       }
       
       estado.onRollOut = function () {
               onEnterFrame = function () {
                       estado._alpha -= 10;
                       if (estado._alpha < 0) {
                               onEnterFrame = function(){ null};
                       }        
               }
       }

       estado.onRelease = function (): Void{
               getURL(""+ estado._name.substr(0, 2), "localizador");
       }
}

//chamada função
var siglas:Array = ['AC', 'AL', 'AP', 'AM', 'BA', 'CE', 'DF', 'GO', 'ES', 'MA', 'MT', 'MS', 'MG', 'PA', 'PB', 'PR', 'PE', 'PI', 'RJ', 'RN', 'RS', 'RO', 'RR', 'SP', 'SC', 'SE', 'TO'];
var estadosDiferenciados:Array = ['AC', 'AL'];

for (var i:Number = 0; i < siglas.length; i++) {
       selecaoestados(eval(siglas[i]+'mv'));
}

Não compreendo bem AS, se alguem puder ajudar fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, faça uma revisão no seu code... em alguns trechos você faz referência a "estados" (plural) quando em outros casos utiliza no singular... No mais utilize o "trace" para debugar, tenha certeza que será de grande ajuda.

 

Att.

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.