Aplicar o mesmo código a instâncias diferentes
Bom pessoal, estou recorrendo a vocês pois estou com uma dúvida, que acredito ser simples, para
os usuários mais experimentes, porém não consegui iniciar uma busca por essa solução.
O meu problema é o seguinte, tenho um arquivo em que fiz um movieclipe para funcionar como
janela contendo explicações sobre determinado assunto, e fiz um botão no qual, quando o usário
clicar, a janela será exibida.
Para construir as janelas, primeiramente eu fiz o desenho da mesma e a converti em um movieclipe.
Depois, inseri dentro do movieclipe da janela, um movieclipe para servir de barra, onde o usuário
pode arrastá-la e por final adicionei um movieclipe para servir de "botão fechar". O código que
estou usando está funcionando perfeitamente bem, porém o problema é que eu tenho 34 dessas
janelas no mesmo arquivo (como os conteúdos das janelas são diferentes, eu as dupliquei usando o
"duplicate symbol" e mudei o conteúdo de cada uma). Então, no fim das contas, eu tenho 34
movieclips nos quais, dentro de cada um deles existe um movieclipe de barra superior e um
movieclipe de botão fechar.
O que estou buscando é alguma diretriz para otimizar o processo de escrever o código, pois, creio
que exista uma maneira mais prática do que copiar o código 34 vezes, mudando apenas os nomes
das instâncias.
Vou deixar o link para visualização do .swf, para que a dúvida fique mais clara.
http://www.swfcabin.com/open/1273772882
Vou colar aqui o código de uma versão simplificada, na qual eu usei apenas duas janelas e dois
botões, para que o código não fique com quilômetros de tamanho e, no mais, fico desde já agradecido a qualquer boa alma que possa me dar alguma dica de por onde começar, mesmo que seja um "procure saber a respeito de tal tal tal...". Valeu pessoa.
// Código para manter as janelas invisíveis
janela1_mc._visible = false;
janela2_mc._visible = false;
// Código para definir o área de clique da barra superior
janela1_mc.hitArea = area_mc;
// Código para fazer o "drag" da janela
janela1_mc.area_mc.onPress = function () {
area_mc.startDrag();
janela1_mc.startDrag();
}
janela1_mc.area_mc.onRelease = function () {
area_mc.stopDrag();
janela1_mc.stopDrag();
}
// Código para fechar a janela (tornando-a invisível)
janela1_mc.fechar_mc.onRelease = function () {
janela1_mc._visible = false;
}
// Código para fazer o botão fechar mudar de cor ao passar o cursor por cima
janela1_mc.fechar_mc.onRollOver = function () {
this.gotoAndStop(2);
}
// Código para fazer o botão fechar voltar a cor inicial, ao tirar o cursor de cima
janela1_mc.fechar_mc.onRollOut = function () {
this.gotoAndStop(1);
}
// Código para, ao clicar no botão, a janela correspondente seja exibida, e as janelas demais sejam fechadas
botao1_mc.onRelease = function() {
janela1_mc._visible = true;
janela2_mc._visible = false;
}
//Código para o botão mudar de cor ao se passar o cursor por cima
botao1_mc.onRollOver = function() {
this.gotoAndStop(2);
}//Código para o botão voltar a cor inicial, ao se tirar o cursor de cima
botao1_mc.onRollOut = function() {
this.gotoAndStop(1);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
// Código para definir o área de clique da barra superior
janela2_mc.hitArea = area_mc;
// Código para fazer o "drag" da janela
janela2_mc.area_mc.onPress = function () {
area_mc.startDrag();
janela2_mc.startDrag();
}
janela2_mc.area_mc.onRelease = function () {
area_mc.stopDrag();
janela2_mc.stopDrag();
}
// Código para fechar a janela (tornando-a invisível)
janela2_mc.fechar_mc.onRelease = function () {
janela2_mc._visible = false;
}
// Código para fazer o botão fechar mudar de cor ao passar o cursor por cima
janela2_mc.fechar_mc.onRollOver = function () {
this.gotoAndStop(2);
}
// Código para fazer o botão fechar voltar a cor inicial, ao tirar o cursor de cima
janela2_mc.fechar_mc.onRollOut = function () {
this.gotoAndStop(1);
}
// Código para, ao clicar no botão, a janela correspondente seja exibida, e as janelas demais sejam fechadas
botao2_mc.onRelease = function() {
janela2_mc._visible = true;
janela1_mc._visible = false;
}
//Código para o botão mudar de cor ao se passar o cursor por cima
botao2_mc.onRollOver = function() {
this.gotoAndStop(2);
}//Código para o botão voltar a cor inicial, ao se tirar o cursor de cima
botao2_mc.onRollOut = function() {
this.gotoAndStop(1);
}Discussão (2)
Carregando comentários...