Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Ramalho

com xml

Recommended Posts

Fala galera, quebrei muito a cabeça antes de vir postar aqui, mas ja que não consegui peço ajuda a quem poder coloborar..

 

Bom, vamos lá:

 

Acho que deve ser uma coisa bem simples..A parada é seguinte:

Deixei comentado pra facilitar..

 

// IMPORTAR AS CLASSES ############################################################### //

// Classes necessarias para a animacao de objetos //

import mx.transitions.Tween;

import mx.transitions.easing.*;

// Strong, Bounce, Elastic, Back, Regular, None

// Classe responsavel por gerenciar transformacoes em objetos //

import flash.geom.Transform;

// Classe responsavel por obter informacoes de cores //

import flash.geom.ColorTransform;

// DECLARAR E INSTANCIAR AS VARIAVEIS ################################################ //

// Armazena araiz do nó <idioma>...</idioma> de acordo a lingua selecionada //

var noIdioma:XMLNode = raiz.childNodes[_global.linguaAtual];

// Conjunto que contera as opcoes de links //

var menuLinks:Array = [];

// Utilizando format para encorporar fonte "Futura" utilizada nete texto //

var formatoTexto:TextFormat = new TextFormat ();

formatoTexto.font = "_futura";

// CRIANDO AS FUNÇOES ################################################################ //

// Faz a movimentacao de um objeto no sentido vertical //

function animaAlgo (mc:MovieClip, posIni:Number, posFin:Number, tempo:Number):Void {

/*

parametros da Tween(

mc - objeto a ser animado,

"_y" - propriedade a ser modificada,

Strong.easeOut - a forma a qual o objeto sera animado,

posIni - valor inicial para a animação,

posFin - valor final para a animação,

tempo - dsuracao da animacao em "segundos" ou em "frames",

true - caso valor anterior seja em "segundos" / false - caso seja em "frames");

*/

var animacao:Tween = new Tween (mc, "_y", Strong.easeOut, posIni, posFin, tempo, true);

}

// Função para mudar a cor de objetos: receb o objeto e os valores RGB da cor //

function mudaCor (mc:MovieClip, RGB:Number):Void {

var gerenteCor:Transform = new Transform (mc);

var cor:ColorTransform = new ColorTransform ();

cor.rgb = RGB;

gerenteCor.colorTransform = cor;

}

// Anima os objetos da tela quando qualquer botao que nao seja o "principal" seja clicado //

function expandir ():Void {

animaAlgo (arq_mc, arq_mc._y, 60, 3);

// texto de arquitetos

animaAlgo (end_mc, end_mc._y, 550, 3);

// endereço

animaAlgo (menuPrincipal, menuPrincipal._y, 85, 3);

// o menu

animaAlgo (cima_mc, cima_mc._y, 160, 3);

// parte de cima

animaAlgo (baixo_mc, baixo_mc._y, 510, 3);

// parte de baixo

}

// Anima os objetos quando o botao principal é "pressionado" //

function contrair ():Void {

animaAlgo (arq_mc, arq_mc._y, 60, 3);

animaAlgo (end_mc, end_mc._y, 550, 3);

animaAlgo (menuPrincipal, menuPrincipal._y, 85, 3);

animaAlgo (cima_mc, cima_mc._y, 160, 3);

animaAlgo (baixo_mc, baixo_mc._y, 510, 3);

}

// Faz com que todos os links sejam desmarcados e habilitados com exceto,o clicado (selecionado) //

function marcaSelecionado (selecionado):Void {

for (var i:Number = 0; i<menuLinks.length; i++) {

if (menuLinks.botao == selecionado) {

mudaCor (menuLinks.botao, 0xFF9900);

menuLinks.botao.enabled = false;

} else {

mudaCor (menuLinks.botao, 0xFFFFFF);

menuLinks.botao.enabled = true;

}

}

}

function montaMenu ():Void {

// Guardara o valor da largura do link anterior para calcular a distancia horizontal do proximo link anexado //

var larguraAnterior:Number = 0;

// Distancia entre os botoes do menu principal //

var distancia:Number = 10;

// Quantidade de links que no menu principal //

var qtdLinks:Number = noIdioma.childNodes.length;

for (var i:Number = 0; i<qtdLinks; i++) {

// titulo de cada link do menu principal //

var linkTitulo:String = noIdioma.childNodes.attributes.id;

// Swf que cada botao deve chamar

var linkSwf:String = noIdioma.childNodes.attributes.swf;

// Anexar botoes "botao_lib" da biblioteca no MC "menuPrincipal" //

var linkAtual:MovieClip = menuPrincipal.attachMovie ("botao_lib", linkTitulo, i);

// Encapsular o valor "linkSwf" dentro de cada botao anexado //

linkAtual.qualSwf = linkSwf;

// Encapsular a posicao de cada botao dentro do conjunto //

linkAtual.posicao = i;

// Para cada botao anexado...o nome de instancia sera guardado no conjunto para futura referencia //

menuLinks = new Object ();

menuLinks.botao = linkAtual;

// Formatar campo e fonte antes de aplicar o texto //

formatoTexto.size = 14;

linkAtual.campo_txt.embedFonts = true;

linkAtual.campo_txt.autoSize = true;

// Mudar o texto do titulo de cada link //

linkAtual.campo_txt.text = linkTitulo;

linkAtual.campo_txt.setTextFormat (formatoTexto);

// Definir o tamanho da area de hit de cada botao //

linkAtual.hitArea_mc._width = linkAtual.campo_txt._width;

// reposicionar o botao anexado, levando em conta a largura do botao anterior + a distancia (10) //

linkAtual._x = larguraAnterior;

larguraAnterior += linkAtual._width+distancia;

// Funcionalidades aos botoes //

linkAtual.onRollOver = function ():Void {

mudaCor (this, 0xFF9900);

// Chama função verifica a existencia de submenu, caso haja..sera montado //

montaSubMenu (this.posicao);

this.onRollOut = function ():Void {

mudaCor (this, 0xFFFFFF);

};

this.onPress = function ():Void {

mudaCor (this, 0xFF9900);

};

this.onRelease = this.onReleaseOutside=function ():Void {

marcaSelecionado (this);

loadMovieNum (this.qualSwf, 6);

if (this._name == "PRINCIPAL") {

contrair ();

} else {

expandir ();

}

};

};

}

animaAlgo (arq_mc, arq_mc._y, 60, 3);

animaAlgo (end_mc, end_mc._y, 550, 3);

animaAlgo (menuPrincipal, menuPrincipal._y, 85, 3);

loadMovieNum (menuLinks[0].botao.qualSwf, 6);

marcaSelecionado (menuLinks[0].botao);

}

function montaSubMenu (posicao:Number):Void {

var noSubLink:XMLNode = noIdioma.childNodes[posicao];

var qtdSubLinks:Number = noSubLink.childNodes.length;

if (qtdSubLinks>=1) {

var subMenu = menuPrincipal.createEmptyMovieClip ("subMenu", 100);

subMenu._x = menuLinks[posicao].botao._x;

subMenu._y = menuLinks[posicao].botao._height+4;

var larguraAnterior:Number = 0;

for (var i:Number = 0; i<qtdSubLinks; i++) {

var subLinkTitulo:String = noSubLink.childNodes.attributes.id;

var subLinkSwf:String = noSubLink.childNodes.attributes.swf;

var subLinkAtual = subMenu.attachMovie ("botao_lib", subLinkTitulo, i);

subLinkAtual.qualSwf = subLinkSwf;

formatoTexto.size = 10;

subLinkAtual.campo_txt.embedFonts = true;

subLinkAtual.campo_txt.autoSize = true;

subLinkAtual.campo_txt.text = subLinkTitulo;

subLinkAtual.campo_txt.setTextFormat (formatoTexto);

subLinkAtual.hitArea_mc._width = subLinkAtual.campo_txt._width;

subLinkAtual._x = larguraAnterior;

larguraAnterior += subLinkAtual._width+10;

subLinkAtual.onRollOver = function ():Void {

mudaCor (this, 0xFF9900);

this.onRollOut = function ():Void {

mudaCor (this, 0xFFFFFF);

};

this.onRelease = function ():Void {

loadMovieNum (this.qualSwf, 6);

this._parent.removeMovieClip ();

};

};

}

}

}

//MANIPULAR OS EVENTOS ############################################################## //

//EXECUTAR FUNÇOES E METODOS ######################################################## //

montaMenu ();

stop ();

 

//-------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

Arquivo XML ***

 

 

<?xml version="1.0" encoding="UTF-8"?>

<menu>

<idioma id="Português" btn="port_btn">

<link id="PRINCIPAL" swf="AFA_Img_principal.swf"/>

<link id="PROJETOS" swf="AFA_projetos.swf">

<sublink id="SHOPPING" swf="Shopping_Garleria.swf"/>

<sublink id="RESIDENCIAL" swf="residencial_Garleria.swf"/>

<sublink id="COMERCIAL" swf="comercial_Garleria.swf"/>

<sublink id="HOTEL" swf="hoteis_Garleria.swf"/>

<sublink id="BUSCA" swf="AFA_busca.swf"/>

</link>

<link id="QUEM SOMOS" swf="AFA_quem.swf"/>

<link id="ONDE ESTAMOS" swf="AFA_onde.swf"/>

<link id="CONTATO" swf="AFA_contato.swf"/>

</idioma>

<idioma id="English" btn="eng_btn">

<link id="PRINCIPAL" swf="AFA_Img_principal.swf"/>

<link id="PROJETCS" swf="AFA_Img_principal.swf">

<sublink id="SHOPPING" swf="AFA_Img_principal.swf"/>

<sublink id="RESIDENTIAL" swf="AFA_Img_principal.swf"/>

<sublink id="COMMERCIAL" swf="AFA_Img_principal.swf"/>

<sublink id="HOTEL" swf="AFA_Img_principal.swf"/>

</link>

<link id="WHO WE ARE" swf="AFA_Img_principal.swf"/>

<link id="WHERE WE ARE" swf="AFA_Img_principal.swf"/>

<link id="CONTACT" swf="AFA_Img_principal.swf"/>

</idioma>

</menu>

 

//----------------------------------------------------------------------------------------------------------------------------------------------

 

Estou querendo que no <link id="PROJETOS" swf="AFA_projetos.swf"> quando rollOut ele desapareça os subMenus.

:( Acreditem q ja tentei...

 

 

http://www.gustavoramalho.com/afa/ o site pra vcs verem o que estou falando...

 

Quem puder ajudar ficarei muito grato.

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.