Ir para conteúdo

POWERED BY:

Arquivado

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

Leo KW

[Resolvido] AS on(release)

Recommended Posts

Fala galera, to tentando linkar um botão, mas ta meio dificil, eu to colocando assim:

 

on(release){
	_root.mc_home.mc_fashion.gotoAndStop("look");
}

o mc_fashion esta dentro do mc_home, pelo que me pareçe esta certo, mas não vai!!

 

Se eu deixo:

 

on(release){
	_root.mc_home.gotoAndStop("look");
}

Ele funciona normal, mais onde eu quero chegar é dentro do mc_fashion, por acaso não pode colocar mais de 2 mcs no link do botão?! Os 2 estão estanciados certinhos!!!

 

Espero q alguem possa me ajudar, talvez seja super simples e eu to quebrando a cabeça!!!

 

Abraços!

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom não entendi bem lá o problema...

 

Dentro do mc_home existe um frame chamado de look?

E dentro do mc_fashion tbm tem um frame chamado look?

 

Primeiramente, não é necessário chamar o root, caso o botão esteja dentro do palco já.

 

Caso ele esteja dentro do clip home... você teria que fazer só mc_fashion.gotoAndStop("look");

 

Não é necessário dar o caminho completo... caso você esteja dentro dele.. só se você for acessar de outro lugar.

 

Por exemplo estou eu no mc_menu que esta no palco... e dentro desse mc tem um botão que vai acessar dentro do mc_fashion um frame...

 

Ai sim eu preciso dizer o caminho todo... pois ele vai ter de passar de novo pelo palco... ai para o mc_home e ai sim para o mc_fashion

 

:X

 

Não sei se expliquei direito. Mas é por ai

For que não se deve dar nomes iguais a partes diferentes de um clip, se um lugar chama look o outro não pode chamar look tem que chamar qualquer outra coisa... para não dar conflito de existencia de variáveis dentro do flash.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

É assim, no palco eu tenho um mc_home, ai dentro desse mc_home eu tenho o mc_menu e o mc_fashion, dentro do mc_menu, é onde tem o botão que deverá mandar pro mc_fashion, e dentro do mc_fashion tem o frame nomeado que é aonde eu quero chegar.

 

Eu tentei usar no botão _parent.mc_fashion, pra ele voltar um atraz do mc_menu, que no caso é o mc_home e entrar no mc_fashion, mais não rolou, e quando eu coloco o caminho completo tb não vai, só rola qdo eu quero chegar no maximo até o mc_home, quando eu coloco um mc a mais no caminho ele ja não vai! =/

 

Espero ter conseguido explicar dessa vez!

Abraços

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É assim, no palco eu tenho um mc_home, ai dentro desse mc_home eu tenho o mc_menu e o mc_fashion, dentro do mc_menu, é onde tem o botão que deverá mandar pro mc_fashion, e dentro do mc_fashion tem o frame nomeado que é aonde eu quero chegar

traduzindo a estrutura:

 

_ROOT
	 -> mc_home
			  -> mc_menu
					  -> botão
			  -> mc_fashion
					  -> [frame]

 

1. crie um layer no primeiro frame

nomeie-o como "actions"

 

 

2. adicione o script abaixo, no primeiro frame do layer "actions"

obj = _root.mc_home.mc_menu['aqui o nome de instancia do botão'];

	obj.onRelease = function ()
	{
		_root.mc_home.mc_fashion.gotoAndStop( AQUI O NUMERO DO FRAME )
	};

 

 

3 .

se outros layers possuírem mais de um frame, extenda uma cópia em todos os frames do layer "actions" até o final (até o a posição do layer com maior quantidade de frames ou até onde for necesário extender os scripts)

 

exemplo 1

Imagem Postada

 

exemplo 2 [layer com quantidades de frames diferentes]

Imagem Postada

 

extenda os scripts do layer "actions" até o final:

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande hinom ;)

 

É isso ai mesmo...

Para poder colocar uma ação em um botão que está lá dentro de um clip, para acessar outros clips, deve-se intanciar ele, e dar os comandos via actionscript, pelo _root, pois ai sim ele vai encontrar o caminho certo das coisas, fazer o caminho inverso só daria mais trabalho.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho que colocar essa action no _root ou no mc_menu que é onde esta o botão?!

 

e nessa parte: _root.mc_home.mc_fashion.gotoAndStop( AQUI O NUMERO DO FRAME )

 

ao invéz do numero do frame eu posso colocar o nome que eu coloquei nele?!

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho que colocar essa action no _root ou no mc_menu que é onde esta o botão?!

esse método de colocar em cima do botão está em desuso há uns 4 anos, portanto, evite isso.

sim. coloque nivel _root para melhor controle.

o importante é que o script que deseja usar seja visível pelo frame que irá chamá-lo, a menos que declare como global, mas aí é outra história..

 

 

e nessa parte: _root.mc_home.mc_fashion.gotoAndStop( AQUI O NUMERO DO FRAME )
particularmente prefiro numero.

mas pode colocar o nome sim..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não,

 

O certo seria você criar uma layer, no seu palco principal, e de lá você colocar as ações que o hinom falou.

Não coloque actions dentro de clips... coloque tudo em 1 mesmo layer. No palco principal.

Assim fica mais fácil de entender... e de programar propriamente dito.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei assim:

obj = this.mc_home.mc_menu["bt_look"];

obj.onRelease = function() {
	this.mc_home.mc_fashion.gotoAndStop("look");
};
e não rolou =/

 

Posso enviar o fla por MP pra vcs darem uma olhada, não queria expor o link, se não der tudo bem!

 

Abracos!

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. verifique se deu um nome de instância para o botão "bt_look"

nome de instância e nome do objeto são coisas diferentes..

 

2.

obj = this.mc_home.mc_menu["bt_look"];

em negrito, utilize "_root" ao invés de "this"

a menos que você tenha certeza de que o controle estará sempre no pallco principal.

por via das dúvidas e para evitar transtornos, utilize o _root

 

 

veja o .fla que o bersek montou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leo , para ser um programador, ou ate pra ser um quebra galho existem comandos de depuração, no caso no flash se trata do trace(); , use-o sempre que tiver programando use o trace pra saber se a saida ta certa , assim você ira conseguir entender bem melhor seus algoritmos.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Berseck.

 

valeu msm pela atenção cara, você, o kisuke, o hinom!!

 

eu fiz algumas adaptações e agora rolou, o trace(); ajuda bastante msm, pra saber se esta no caminho certo!

 

espero q possa ajudar mais alguem que tiver essa duvida, que pareçe uma coisa simples, mais é bem complexa!!

 

Abraços!

;)

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.