Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom preciso criar um botão exatamente igual a este site: http://www.voxcwb.com.br, para um cliente mas já fiz várias tentativas de vários modos e não consegui. Nas minhas tentativas consegui chegar perto desse efeito mas não consegui inteiramente. Agradeço a quer puder me ajudar.
Mouse em cima do botão fica: Preto e Branco
Mouse fora do botão fica: fica sem nada
Mouse clica no botão fica: vermelho e preto
Depois de clicado mesmo que eu passe o mouse por cima do botão não acontece nada fica em vermelho e preto, e a opção de clicar fica desativada
Quando eu clicar em outro link o vermelho e preto sai e fica sem nada, e o outro link clicado que fica em vermelho e preto
Não sei se deu pra entender... Mas qualquer coisa eu tento explicar melhor.
Meu site é em Action Script 2
>
Pesquise por >> menu activated (menu ativado).
Mais fácil encontrar material em AS2.
Publiquei um tópico recente no fórum de AS3, eu já tinha o menu ativado funcionando, um dos colegas do fórum me auxiliou para desabilitar o click.
Sugiro que inicialmente procure algo, teste e depois poste o código que está usando.
Fica melhor para ajustar o que falta.
Abraços
Com esse script o meu botão realizou a animação perfeito e ficou exatamente do jeito que queria.
loadMovie ("principal.swf", _root.mc_position);
//Array dos botoes
//Aqui eu vou colocar as instancias dos botões, para que o código funcione deve vir sempre um bt_ na frente do nome do botão
var botoes:Array = new Array(bt_galeria,bt_site,bt_contato);
//Aqui é o nome do swf externo que vou abrir, então deve ser colocado o nome do botão igual o nome do swf externo só que com bt_ na frente
var categorias:Array = new Array("galeria.swf","site.swf","contato");
//Aqui é só um verificador para saber qual categoria que se encontra
var categoria:String = "";
//Aqui é o for que vai aplicar as ações
for(i = 0; i < botoes.length; i++){
botoes[i].onRollOver = function(){ //Esse aqui é o rollOver
this.gotoAndStop(2);
}
botoes[i].onRollOut = function(){ //Aqui é o RollOut
this.gotoAndStop(1);
}
botoes[i].onPress = function(){
this.gotoAndPlay(3); //Aqui é o onPress
//Ao precionar o botão escolhido ele vai remover o bt_ da frente do botão para pegar o nome do botão com split('_');
var abre:String = this._name.split('_');
//Aqui ele ta retornando o nome que ele deve abrir do swf externo
trace(abre[1]);
//Esse loadMovie comentado aqui é o nome do clip externo que deve ser aberto dentro do movieclip instanciado de MC
//loadMovie(abre[1], mc);
//Aqui eu coloco o nome do botão que vai ser classificado como categoria
categoria = this._name;
//Ligo minha função verificadora de categoria
verifica();
}
}function verifica(){
for(i = 0; i < botoes.length; i++){
if(botoes[i]._name == categoria){
botoes[i].enabled = false;
} else {
botoes[i].enabled = true;
botoes[i].gotoAndStop(1);
}
}
}Somente Adicionei um this.gotoAndPlay, para realizar uma animaçãozinha dentro do movie clip
CRÉDITOS: O CÓDIGO CITADO ACIMA FOI DISPONIBILIZADO PELO BERSEK EM UM TÓPICO RESPONDIDO POR ELE AQUI NO FÓRUM
//Array dos botoes
//Aqui eu vou colocar as instancias dos botões, para que o código funcione deve vir sempre um bt_ na frente do nome do botão
var botoes:Array = new Array(bt_casamentos, bt_formaturas, bt_15anos, bt_outroseventos);
//Aqui é o nome do swf externo que vou abrir, então deve ser colocado o nome do botão igual o nome do swf externo só que com bt_ na frente
var swf:Array = new Array("");
//Aqui é só um verificador para saber qual categoria que se encontra
var categoria:String = "";
//Aqui é o for que vai aplicar as ações
for(i = 0; i < botoes.length; i++){
botoes[i].onRollOver = function(){ //Esse aqui é o rollOver
this.gotoAndPlay(2);
}
botoes[i].onRollOut = function(){ //Aqui é o RollOut
this.gotoAndStop(1);
}
botoes[i].onPress = function(){//Aqui é o onPress
//Ao precionar o botão escolhido ele vai remover o bt_ da frente do botão para pegar o nome do botão com split('_');
var abre:String = this._name.split('_');
//Aqui ele ta retornando o nome que ele deve abrir do swf externo
trace(abre[1]);
//Esse loadMovie comentado aqui é o nome do clip externo que deve ser aberto dentro do movieclip instanciado de MC
loadMovie(abre[1], _root.mc_galeria);
//Aqui eu coloco o nome do botão que vai ser classificado como categoria
categoria = this._name;
//Ligo minha função verificadora de categoria
verifica();
}
}
//Essa função transforma o botão clicavel ou não após você ter clicado nele ou na categoria de interesse
function verifica(){
for(i = 0; i < botoes.length; i++){
if(botoes[i]._name == categoria){
botoes[i].enabled = false;
} else {
botoes[i].enabled = true;
botoes[i].gotoAndStop(1);
}
}
}
Esse é o código correto somente tirei duas "//" desta linha: loadMovie(abre[1], _root.mc_galeria);
O arquivo abre dentro do meu MC, mas, eu tenho que tirar o ".swf" do meu arquivo para ele abrir casa contrario não abre. Alguém sabe como fazer abrir mesmo com o ".swf"?????
O.o como assim tem que tirar o .swf???
loadMovie(abre[1], _root.mc_galeria);
Isso ai só vai abrir se o arquivo tiver .jpg, .png, .swf
Caso contrario vai abrir nada não O.o pelo menos não deveria... afinal não tem a indicação do que ele deve abrir.
Abraços
>
O.o como assim tem que tirar o .swf???
loadMovie(abre[1], _root.mc_galeria);
Isso ai só vai abrir se o arquivo tiver .jpg, .png, .swf
Caso contrario vai abrir nada não O.o pelo menos não deveria... afinal não tem a indicação do que ele deve abrir.
Abraços
Quando eu exporto o arquivo para ".swf" e clico no botão ele não abre no flash abre a output: eventos (evento é o nome do arquivo em swf, exemplo), porém não abre nada no mc_position, ai vou no arquivo e renomeio de: eventos.swf PARA eventos.
Eu sei que é muitoooo estranho mas deu certo, como? eu não sei.
A variavel que ta vindo para ele ... ta vindo já com .swf então... se for esse código que você colocou ai
Não tem como ele vai retornar sempre o trace sem o .swf
Eu sei pq abri o arquivo de teste disso ai aqui na minha tela haha.
Abraços
>
A variavel que ta vindo para ele ... ta vendo já com .swf então... se for esse código que você colocou ai
Não tem como ele vai retornar sempre o trace sem o .swf
Eu sei pq abri o arquivo de teste disso ai aqui na minha tela haha.
Abraços
então cara como eu faço pra abrir o .swf no meu mc?
lembrando que estou começando em action script
Valew
Bom para abrir um SWF externo em um MovieClip basta fazer
var mc:MovieClip = _root.createEmptyMovieClip("mc", 1);
loadMovie("aquivo.swf", mc);
Assim você vai carregar em um MovieClip dinamico o conteúdo desejado
Se você por algum botão mandar carregar no mesmo MovieClip outro SWF ele vai carregar sobre o outro... (descarrega 1 e carrega o outro).
Abraços
>
Bom para abrir um SWF externo em um MovieClip basta fazer
var mc:MovieClip = _root.createEmptyMovieClip("mc", 1);
loadMovie("aquivo.swf", mc);
Assim você vai carregar em um MovieClip dinamico o conteúdo desejado
Se você por algum botão mandar carregar no mesmo MovieClip outro SWF ele vai carregar sobre o outro... (descarrega 1 e carrega o outro).
Abraços
loadMovie ("principal.swf", _root.mc_position);
//Array dos botoes
//Aqui eu vou colocar as instancias dos botões, para que o código funcione deve vir sempre um bt_ na frente do nome do botão
var botoes:Array = new Array(bt_quemsomos,bt_site,bt_galeria, bt_contato);
//Aqui é o nome do swf externo que vou abrir, então deve ser colocado o nome do botão igual o nome do swf externo só que com bt_ na frente
var categorias:Array = new Array("quemsomos.swf","pagina","contato");
//Aqui é só um verificador para saber qual categoria que se encontra
var categoria:String = "";
//Aqui é o for que vai aplicar as ações
for(i = 0; i < botoes.length; i++){
botoes[i].onRollOver = function(){ //Esse aqui é o rollOver
this.gotoAndStop(2);
}
botoes[i].onRollOut = function(){ //Aqui é o RollOut
this.gotoAndStop(1);
}
botoes[i].onPress = function(){
this.gotoAndPlay(3);//Aqui é o onPress
//Ao precionar o botão escolhido ele vai remover o bt_ da frente do botão para pegar o nome do botão com split('_');
var abre:String = this._name.split('_');
//Aqui ele ta retornando o nome que ele deve abrir do swf externo
trace(abre[1]);
//Esse loadMovie comentado aqui é o nome do clip externo que deve ser aberto dentro do movieclip instanciado de MC
loadMovie(abre[1], _root.mc_position);
//Aqui eu coloco o nome do botão que vai ser classificado como categoria
categoria = this._name;
//Ligo minha função verificadora de categoria
verifica();
}
}
//Essa função transforma o botão clicavel ou não após você ter clicado nele ou na categoria de interesse
function verifica(){
for(i = 0; i < botoes.length; i++){
if(botoes[i]._name == categoria){
botoes[i].enabled = false;
} else {
botoes[i].enabled = true;
botoes[i].gotoAndStop(1);
}
}
}As funçoes roolOver e rollOut estão funcionando perfeitamente como eu queria.
Quando eu clicasse no botão uma animação e parasse, isso já está certo, porém quando eu tiro o mouse de cima do botão ele não fica no frame que eu queria.
E quando eu clicasse abrisse um "swf" externo no mc_position.
_____________________--
como eu disse acima ele só abre se tiver sem o ".swf"
Não sei se deu para compreender
Ué se você tira o mouse de cima do botão ele faz o Evento rollOut
Então ele vai para o frame numero 1... de volta
Aqui o código arrumado:
var mc_position:MovieClip = _root.createEmptyMovieClip("mc_position", 1);
mc_position._x = 40;
mc_position._y = 40;
loadMovie ("principal.swf", _root.mc_position);
//Array dos botoes
//Aqui eu vou colocar as instancias dos botões, para que o código funcione deve vir sempre um bt_ na frente do nome do botão
var botoes:Array = new Array(bt_quemsomos,bt_site,bt_galeria, bt_contato);
//Aqui é o nome do swf externo que vou abrir, então deve ser colocado o nome do botão igual o nome do swf externo só que com bt_ na frente
var categorias:Array = new Array("quemsomos","site","galeria","contato");
//Aqui é só um verificador para saber qual categoria que se encontra
var categoria:String = "";
//Aqui é o for que vai aplicar as ações
for(i = 0; i < botoes.length; i++){
botoes[i].onRollOver = function(){ //Esse aqui é o rollOver
this.gotoAndStop(2);
}
botoes[i].onRollOut = function(){ //Aqui é o RollOut
this.gotoAndStop(1);
}
botoes[i].onPress = function(){
this.gotoAndPlay(3);//Aqui é o onPress
//Ao precionar o botão escolhido ele vai remover o bt_ da frente do botão para pegar o nome do botão com split('_');
var abre:String = this._name.split('_');
//Aqui ele ta retornando o nome que ele deve abrir do swf externo
trace(abre[1]);
//Esse loadMovie comentado aqui é o nome do clip externo que deve ser aberto dentro do movieclip instanciado de MC
loadMovie(abre[1]+".swf", _root.mc_position);
//Aqui eu coloco o nome do botão que vai ser classificado como categoria
categoria = this._name;
//Ligo minha função verificadora de categoria
verifica();
}
}
//Essa função transforma o botão clicavel ou não após você ter clicado nele ou na categoria de interesse
function verifica(){
for(i = 0; i < botoes.length; i++){
if(botoes[i]._name == categoria){
botoes[i].enabled = false;
} else {
botoes[i].enabled = true;
botoes[i].gotoAndStop(1);
}
}
}
Abraços
Cara funcionou perfeitamente agora. Valeu pelo ajuda e paciência.
Tópico resolvido.
abraços
Pesquise por >> menu activated (menu ativado).
Mais fácil encontrar material em AS2.
Publiquei um tópico recente no fórum de AS3, eu já tinha o menu ativado funcionando, um dos colegas do fórum me auxiliou para desabilitar o click.
Sugiro que inicialmente procure algo, teste e depois poste o código que está usando.
Fica melhor para ajustar o que falta.
Abraços