Ghean 0 Denunciar post Postado Maio 16, 2011 Tenho um mapa do brasil que baixei da net. Quando passo o mouse sobre um determinado estado o mesmo fica em destaque. Gostaria que ao passar o mouse sobre os estados seja carregados alguns dados vindo de um XML e ao clicar sobre o estado os dados ficassem fixos. A função para destaque do estado e para carregar os dados do XML eu ja tenho. Estou mesmo com dificuldades em fazer as exibições no hover e fixar no release. Segue o codigo AS. 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 }; } } } estado.onRelease = function (): Void{ //trace(estado._name.substr(0, 2)); } } 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')); } function carregaDados(UF) { System.useCodepage = false; var xmlDadosEstados:XML = new XML(); xmlDadosEstados.load("dados.xml"); xmlDadosEstados.ignoreWhite = true; xmlDadosEstados.onLoad = function(success) { if (success) { var dadosEstados = xmlDadosEstados.firstChild.childNodes; var tamanho = dadosEstados.length; for (var i = 0; i < tamanho; i++) { var oEstados:Object = new Object(); oEstados.estadoId = dadosEstados[i].attributes.id; if(oEstados.estadoId == UF) { oEstados.ufNome = dadosEstados[i].childNodes[0].childNodes; oEstados.numHabitantes = dadosEstados[i].childNodes[1].childNodes; oEstados.numEleitores = dadosEstados[i].childNodes[2].childNodes; oEstados.nomeGovernador = dadosEstados[i].childNodes[5].childNodes; oEstados.numDeputadosFederais = dadosEstados[i].childNodes[6].childNodes; oEstados.numDeputadosEstaduais = dadosEstados[i].childNodes[7].childNodes; oEstados.numVereadores = dadosEstados[i].childNodes[8].childNodes; oEstados.numDirecaoEstadual = dadosEstados[i].childNodes[9].childNodes; DadosEstadomv.ufNome.text = oEstados.ufNome + ' - ' + oEstados.estadoId; DadosEstadomv.numHabitantes.text = oEstados.numHabitantes; DadosEstadomv.numEleitores.text = oEstados.numEleitores; DadosEstadomv.nomeGovernador.text = oEstados.nomeGovernador; DadosEstadomv.numDeputadosFederais.text = oEstados.numDeputadosFederais; DadosEstadomv.numDeputadosEstaduais.text = oEstados.numDeputadosEstaduais; DadosEstadomv.numVereadores.text = oEstados.numVereadores; DadosEstadomv.numDirecaoEstadual.text = oEstados.numDirecaoEstadual; } } } else { trace("Erro ao Carregar o XML"); } } } Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Maio 18, 2011 Acredito ser mais interessante apenas destacar o estado no "RollOver" e carregar os dados somente no "Release", para isso, chame a função de carregar os dados dentro da função "onRelease". Att. Compartilhar este post Link para o post Compartilhar em outros sites