Sites com classes
Olá,
Estou migrando do AS2 para o AS3 e consequentemente, também para o conceito de Programação Orientada à Objeto.
Minha estrutura consiste em um arquivo index.html que carrega um arquivo base (um container), onde por sua vez, serão carregados o topo do site, o menu, o painel de notícias, etc.
As classes ficarão dentro de uma pasta chamada "com" enquanto os swfs das seções do site dentro de uma pasta chamada "comum".
A estrutura do site é mais ou menos assim (pastas em maiúsculas e arquivos em minúsculas):
[RAIZ]
index.html
[RAIZ > COM]
site.as
menu.as
etc...
[RAIZ > COMUM]
base.swf
menu.swf
A idéia é que quando o usuário clicar num item de menu (no menu.swf) seja carregada a respectiva seção.
No método construtor do "base.swf" inicializo o site, ou seja, carrego o topo.swf, menu.swf, noticias.swf, etc. Até aí tudo funcionou normalmente. O problema começa quando uso o "menu.as"...
Para ilustrar minha dúvida, seguem abaixo um printscreen da tela e o código do menu.as:
>
package {
import flash.display.MovieClip;
import flash.net.URLRequest;
import flash.display.Loader;
public class menu extends MovieClip {
public var secaoAtual:String = "apresentacao_mc";
public var secaoAnterior:String;
public function menu():void {
//
}
public function onOver(evt:MouseEvent):void {
evt.target.gotoAndPlay("over");
}
public function onOut(evt:MouseEvent):void {
evt.target.gotoAndPlay("out");
}
public function onClick(evt:MouseEvent):void {
// Início do teste
trace("");
trace("Traces do onClick");
trace("secaoAtual no menu.as: " + secaoAtual);
secaoAnterior = secaoAtual;
trace("secaoAnterior no menu.as: " + secaoAnterior);
trace("");
// Fim do teste
carregarSecao(evt.target.name);
}
public function carregarSecao(secaoAtual):void {
switch (secaoAtual) {
case "apresentacao_mc" :
trace("Apresentação");
break;
case "historia_mc" :
trace("História");
break;
case "equipe_mc" :
trace("Equipe");
break;
case "projetos_mc" :
trace("Projetos");
break;
case "financeiro_mc" :
trace("Financeiro");
break;
case "colabore_mc" :
trace("Colabore");
break;
case "loja_mc" :
trace("Loja");
break;
case "contato_mc" :
trace("Contato");
break;
}
//Início do teste
trace("");
trace("Traces do carregarSecao");
trace("secaoAnterior após o click do mouse: " + secaoAnterior);
trace("secaoAtual após o click do mouse: " + secaoAtual);
trace("");
//Fim do teste
}
}
}
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.academiadexadrez.com/tmp/classes.jpg&key=56ee114f2e8087b9b6cca9f43635cb197be1c8b15ba7c7e5c16da1d9bd789f01" alt="Imagem Postada" />
Por que a variável secaoAnterior não é atualizada? Ou seja, porque ela mantém o valor original apresentacao_mc?
Agradeço antecipadamente qualquer ajuda que receber para evitar popular o post com agradecimentos, ok?
Discussão (1)
Carregando comentários...