imagem.jpg 66.68KB
2 downloads
Olá Pessoal,
Estou com dificuldades, tenho 3 botôes: servico, contato e portifolio.
Sendo que:
o conteudo de contato é do frame 1 ao 14,
o conteudo de serviço é do frame 15 ao 27,
o conteudo portifolio é do frame 28 ao 40
Então se clicar por exemplo no botão servico, ele tem que começar do 15 ao 27,
ai se eu clicar em qualquer outro botão, ele tem que retroceder o atual, que seria o conteudo de servico, do 27 ao 15, e iniciar o conteudo correspondente ao botão que eu clicar, que poderia ser contato ou portifolio, e assim independente para qual seja, sabendo que eu tenho 03 botões para seus 03 conteudos,
Espero que entendem a minha dificuldade, tenho que usar condições (if) e (else) ? qual a melhor forma de formular essa programação ?
Eu sei que para muito parece óbvio as coisas, mas se poderem explicar os minimos detalhes, eu agradeceria, pois ainda sou iniciante r
Grato, Dilson.
Ver se dá pra entender
//eu tenho um método que funciona perfeitamente com animações baseadas em tween
//pra usar
seuMC.reversemc() //isso faz seu movieClip rodar de traz pra frente
seuMc.playmc()
//no primeiro frame da timeline principal
MovieClip.prototype.reversemc = function() {
var mc = this;
mc.onEnterFrame = function() {
(mc._currentframe > 1) ? mc.prevFrame() : delete mc.onEnterFrame;
};
};
MovieClip.prototype.playmc = function() {
var mc = this;
delete mc.onEnterFrame;
mc.gotoAndPlay(mc._currentframe);
};
Mas eu achei isso aqui no meu baú rsrs
// ---------------------------------------------------------------
// Timeline ReversePlay Extension
// Copyright (c) 2003 Jonas Galvez
// ---------------------------------------------------------------
//
// :: Descrição
// Permite que um movieclip seja reproduzido ao
// contrário, utilizando versões modificadas dos métodos
// play e gotoAndPlay. O método foi cuidadosamente projetado
// para não causar problemas de performance.
//
// :: Contato
// jonas@onrelease.org
// jonas@eng.com.br
//
// :: Histórico
// 12/05/2003 v1.0 Publicada
//
// :: Comentários
// Uma versão modificada do objeto ASBroadcaster criado
// por Ralf Bokelberg foi implementada nesta extensão
// http://www.helpqlodhelp.com/blog/archives/000016.html
//
// ---------------------------------------------------------------
// Para suporte e atualizações, visite: www.onrelease.org
// Treinamento em ActionScript avançado: www.eng.com.br
// ---------------------------------------------------------------
// Referência à classe MovieClip, para fácil acesso
var o = MovieClip;
// Adiciona suporte à distribuição dinâmica
// de eventos (event broadcasting) à classe MovieClip
if(!o.hasASBroadcaster) {
ASBroadcaster.initialize(o);
o.$_oldBroadcastMessage = o.broadcastMessage;
o.$_oldAddListener = o.addListener;
o.$_oldRemoveListener = o.removeListener;
o.$_listeners = o._listeners;
o.$_OEF = function() {
MovieClip.broadcastMessage("onEnterFrame");
};
o.broadcastMessage = function() {
this._listeners = this._listeners.slice(0);
this.$_oldBroadcastMessage.apply(this, arguments);
this._listeners = this.$_listeners;
};
o.addListener = function(obj) {
if(!_level0.$__OEF__.onEnterFrame)
_level0.$__OEF__.onEnterFrame = MovieClip.$_OEF;
var tmp = this._listeners;
this._listeners = this.$_listeners;
this.$_oldAddListener(obj);
this._listeners = tmp;
};
o.removeListener = function(obj) {
var tmp = this._listeners;
var len = this._listeners.length;
this._listeners = this.$_listeners;
this.$_oldRemoveListener(obj);
this._listeners = tmp;
// Condicional adicionada para remover o
// evento onEnterFrame quando não existirem listeners
if(len == 1 && this._listeners.length != len)
delete _level0.$__OEF__.onEnterFrame;
};
o._listeners = [];
_level0.createEmptyMovieClip("$__OEF__", -0xEEFAE);
o.hasASBroadcaster = true;
};
// Quando os métodos play e gotoAndPlay forem executados
// em um movieclip, este receberá um cópia do método abaixo,
// que se tornará um listener do evento onEnterFrame
//
// Esta é uma função estática, ou seja, ela está anexada
// diretamente à classe MovieClip, e não ao objeto prototype
// (o que a tornaria diretamente disponível à todos movieclips)
o.$_playEngine = function() {
var mc = this.target;
if(mc._currentframe != 1) mc.prevFrame();
else mc.gotoAndStop(mc._totalframes);
};
// Agora, a variável 'o' se torna uma referência
// ao objeto prototype da classe MovieClip
o = o.prototype;
// Referências aos métodos gotoAndPlay, play
// e stop (que serão modificados logo abaixo)
o.$_oldPlay = o.play; o.$_oldStop = o.stop;
o.$_oldGotoAndPlay = o.gotoAndPlay;
// Versão modificada do método MovieClip.play que agora
// permitirá a passagem de um novo parâmetro: backwards
// Se este parâmetro tiver o valor TRUE (verdadeiro), o
// movieclip será reproduzido para trás
o.play = function(backwards) {
// Caso o parâmetro backwards seja false ou undefined,
// chamamos o método MovieClip.play original e interrompemos
// a execução da função
if(!backwards) {
this.stop();
this.$_oldPlay();
return;
};
// Interrompe a execução da função caso o movieclip
// já esteja sendo reproduzido ao contrário
if(this.$_playingBackwards) return;
// Anexa uma cópia do método MovieClip.$_playEngine,
// agora com o nome onEnterFrame, em um novo objeto
this.$_playEngine = {onEnterFrame:MovieClip.$_playEngine};
// Anexa uma referência à este movieclip
// ao objeto this.$_playEngine
this.$_playEngine.target = this;
// Propriedade que indicará se o movieclip está
// ou não sendo reproduzido ao contrário
this.$_playingBackwards = true;
// Torna o objeto $_playEngine um listener de eventos da
// classe MovieClip (neste caso, apenas o evento onEnterFrame)
MovieClip.addListener(this.$_playEngine);
// Impede que $_playEngine e $_playingBackwards
// seja acessados em loops for..in
ASSetPropFlags(this, "$_playEngine", 1);
ASSetPropFlags(this, "$_playingBackwards", 1);
};
// Versão modificada do método gotoAndPlay. Funciona
// de maneira similar à sua versão original, mas aceita
// um parâmetro adicional, backwards, que indica se
// o movieclip deve ou não ser reproduzido ao contrário.
// Neste caso, a reprodução reversa iniciaria a partir
// do frame especificado
o.gotoAndPlay = function(frame, backwards) {
// Caso apenas o parâmetro frame tenha sido
// passado ou o parâmetro backwards seja false,
// executa o gotoAndPlay original e interrompe
// a execução da função
if(arguments.length < 2 || !backwards) {
this.$_oldGotoAndPlay(frame); return;
};
// Vai para o frame inicial da animação
// e começa a reproduzir ao contrário
this.gotoAndStop(frame);
this.play(true);
};
// Versão modificada do método MovieClip.stop que
// o torna compatível com os novos play e gotoAndPlay
o.stop = function() {
// Caso o movieclip esteja sendo reproduzido
// ao contrário, faz com que o objeto $_playEngine
// deixe de ser listener do evento onEnterFrame
if(this.$_playingBackwards) {
MovieClip.removeListener(this.$_playEngine);
this.$_playingBackwards = false;
};
// Chama o método stop() original
this.$_oldStop();
};