Ir para conteúdo

POWERED BY:

Arquivado

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

W3criacoes

[Resolvido] ativar/desativar link e alteração de variável

Recommended Posts

Opa pessoal, estou com um probleminha no meu flash aqui e gostaria de ajuda!

Vamos lá

- Tenho um filme (index.swf) que possui um MC chamado de MainMenu (com 12 botões).

- Ao clicar no item de menu, ele chama um loadmovie que carrega no MC holder, segue a ação do item do menu

 

on(release){
    loadMovie("o-motel.swf", _root.holder);
    bt1.enabled = false;
    bt2.enabled = false;
    bt3.enabled = false;
    bt4.enabled = false;
    bt5.enabled = false;
    bt6.enabled = false;
    bt7.enabled = false;
    bt8.enabled = false;
    bt9.enabled = false;
    _root.bt10.enabled = false;
    _root.bt11.enabled = false;
    _root.bt12.enabled = false;
}

- Até ai tudo bem, quando meu filme é carregado todos os botões são destivados.

- Assim que feche meu filme, meus botões são ativados novamente com o seguinte código

unloadMovie(_root.holder);
_root.MainMenu.bt1.enabled = true;
_root.MainMenu.bt2.enabled = true;
_root.MainMenu.bt3.enabled = true;
_root.MainMenu.bt4.enabled = true;
_root.MainMenu.bt5.enabled = true;
_root.MainMenu.bt6.enabled = true;
_root.MainMenu.bt7.enabled = true;
_root.MainMenu.bt8.enabled = true;
_root.MainMenu.bt9.enabled = true;
_root.bt10.enabled = true;
_root.bt11.enabled = true;
_root.bt12.enabled = true;

- Ótimo até ai. Agora vem meu 1 problema.

- Um dos filmes que carrego no MC holder possui um slide (Aqueles do tipo que você coloca o mouse pro lado e pro outro e ele vai rolando infinito).

- Neste slide eu tenho 9 botões e quando clico nele abre um filme no MC cliping em _root. Também consigo desativar os links do botões.

on(release){
    loadMovie("ap-gruta-azul.swf", _root.cliping);
    _parent.holdPosition = true;
    
    _parent.imgbox1.enabled = false;
    _parent.imgbox2.enabled = false;
    _parent.imgbox3.enabled = false;
    _parent.imgbox4.enabled = false;
    _parent.imgbox5.enabled = false;
    _parent.imgbox6.enabled = false;
    _parent.imgbox7.enabled = false;
    _parent.imgbox8.enabled = false;
    _parent.imgbox9.enabled = false;
    
}

- é agora! Quando fecho esse filme que abrir clicando no bt, eu não consigo reativá-lo. Estou usando o seguinte código.

unloadMovie(_root.cliping);
_parent.holdPosition = false;

imgbox1.enabled = true;
_root.cliping.imgbox2.enabled = true;
_root.cliping.imgbox3.enabled = true;
_root.cliping.imgbox4.enabled = true;
_root.cliping.imgbox5.enabled = true;
_root.cliping.imgbox6.enabled = true;
_root.cliping.imgbox7.enabled = true;
_root.cliping.imgbox8.enabled = true;
_root.cliping.imgbox9.enabled = true;

Já testei como _parent, como _root e nada funciona. Já testei sem o cliping, com e nada... sad.gif preciso fazer o botão ser ativado novamente.

 

Outra questão é: No meu slide tem um var

//to stop the clips from moving change to true;
var holdPosition = false;

Caso eu queria parar o slide. Então no botão ao clicar eu digo

_parent.holdPosition = true;

E dai o slide para pra poder abrir o filme, porém quando tento fechar esse filme o slide não volta a funcionar...uso essa ação.

_parent.holdPosition = false;

Eu tenho 3 filmes (o palco, filme1, flime2). Eu preciso ativar os links do filme1 quando o filme 2 é fechado e preciso fazer com que o slide do filme 1 volte a funcionar quando o filme 2 é fechado.

 

Será que deu pra entender ou ficou confuso?

De qualquer forma estou disponibilizando os fla aqui pra quem puder dar uma olhada! biggrin.gif valeu pessoal

 

Link para baixar os fla, aqui

 

Filme 1 - index.fla

Filmes 2 - apartamentos.fla

filme 3 - gruta-azul.fla

 

Ao roda o filme, vá em apartamentos > gruta azul

OBS: tem filme que é carregado, mas não coloquei pra não pesar o arquivo e nada influencia na minha dúvida.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara que salada!!! Por isso que eu digo que ficar colocando ações diretamente nos objetos (botões) dá essa dor de cabeça (manutenção)...

O ideal seria instanciar seus objetos (definindo como MCs por ex.) e na timeline principal de cada swf definir as ações de cada, e no caso desse monte de botões dá para simplificar ainda mais as ações jogando tudo isso dentro de um loop, bom mais isso seria refazer de novo...

 

Quanto ao seu problema, provavelmente é dos caminhos que não estão sendo informados corretamente, inspecione cada um dos botões, MCs alvos, etc... verifique se estão instanciados corretamente e tente utilizar o caminho absoluto para testar, ou seja, a partir do "_root".

E quanto a essa variável "holdPosition", defina como global, pois existem diferenças entre variáveis de função e timeline...

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde essa variavel:

_parent.holdPosition = true;

 

foi criada?

Você com parent, ta voltando 1 clip... ou avançando 1

Mas onde ela foi criada? se não foi no anterior ao clip que esta mexendo ou no posterior não vai funcionar...

 

De o caminho completo dela que acredito que seja só holdPosition... sem o parent na frente...

 

Para testar use o trace(holdPosition) e o trace(_parent.holdPosition)

 

ai você vai descobrir onde está errando

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.