Ir para conteúdo

POWERED BY:

Arquivado

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

ohlele

Banner rotativo com botões AS3

Recommended Posts

Olá galera FLASH,

 

Peguei oprincípio do código na internet, e estou tentando finalizar um banner dinâmico rotativo com botões, mas não consigo.

 

Vamos lá:

 

O código está em AS3

Criei um palco instanciado de mc_exibe e 3 Botões instanciados de bot_1, bot_2 e bot_3

No frame 1 coloquei o seguinte código abaixo:

 

 

 

 

OBS: desculpe por colocar o código direto sem inserir código, é que o forum está com pau aqui...

 

 

Código:


var carregar:Loader=new Loader();

mc_exibe.addChild(carregar);
carregar.load(new URLRequest("banner1.swf"));


var tempo = "5000"
var nome_banner_1 = "banner1.swf"
var nome_banner_2 = "banner2.swf"
var nome_banner_3 = "banner3.swf"



//------------------------------------------------------------------
function show_1() {
	clearInterval(intervalo_1);
	clearInterval(intervalo_2);
	clearInterval(intervalo_3);
	carregar.load(new URLRequest(nome_banner_1));
	var intervalo_2 = setInterval(show_2, tempo);
}
var intervalo_1 = setInterval(show_1, tempo);


function show_3() {
	clearInterval(intervalo_1);
	clearInterval(intervalo_2);
	clearInterval(intervalo_3);
	carregar.load(new URLRequest(nome_banner_3));
	var intervalo_1 = setInterval(show_1, tempo);
}
var intervalo_3 = setInterval(show_3, tempo);


function show_2() {
	clearInterval(intervalo_1);
	clearInterval(intervalo_2);
	clearInterval(intervalo_3);
	carregar.load(new URLRequest(nome_banner_2));
	var intervalo_3 = setInterval(show_3, tempo);
}
var intervalo_2 = setInterval(show_2, tempo);

//------------------------------------------------------------------






//------------------------------------------------------------------
bot_1.addEventListener(MouseEvent.CLICK, botao1);
function botao1(evento:MouseEvent):void{
	clearInterval(intervalo_2);
	clearInterval(intervalo_3);
	carregar.load(new URLRequest(nome_banner_1));
	var intervalo_2 = setInterval(show_2, tempo);
}
//------------------------------------------------------------------


//------------------------------------------------------------------
bot_2.addEventListener(MouseEvent.CLICK, botao2);
function botao2(evento:MouseEvent):void{
	clearInterval(intervalo_1);
	clearInterval(intervalo_3);
	carregar.load(new URLRequest(nome_banner_2));
	var intervalo_3 = setInterval(show_3, tempo);
}
//------------------------------------------------------------------



//------------------------------------------------------------------
bot_3.addEventListener(MouseEvent.CLICK, botao3);
function botao3(evento:MouseEvent):void{
	clearInterval(intervalo_1);
	clearInterval(intervalo_2);
	carregar.load(new URLRequest(nome_banner_3));
	var intervalo_1 = setInterval(show_1, tempo);
}
//------------------------------------------------------------------



Este código está fazendo os banner rodarem de tempo em tempo, o problema é quando clico nos botões, ele envia para outro banner ou corta o tempo.

Não sei como resolver este problema.

 

Gostaria que cada banner rodasse de tempo em tempo e que quando eu clicar em um botão ele chama o swf que indiquei e depois continua na ordem do loop dos banner.

Ex: se o banner ativo é o 2 e clico no botão 3, após acabar o timer e pula para o 1 sem cortar o tempo.

 

Me ajudem por favor,

 

Valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, dê uma olhada no banner que é exibido no site da Livraria Saraiva, tem os botões "1,2,3,4" que permite que você alterne a visualização das "promoções", ou clicar diretamente sobre a promoção para exibir a página html com mais detalhes sobre o produto.

Se for algo semelhante posso auxiliar.

Caso contrário, forneça um "endereço" para que possamos visualizar o que você deseja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Elektra é isso mesmo. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Obs:

1. preciso carregar arquivo .swf

2. controlar o número de botões, ou seja, que eu possa inserir ou tirar botões de alguma forma quando precisar, que não seja fixo em 4 botões

 

É isso mesmo Elektra por favor poste o código ou me fale onde posso pegar.

 

Valeu mesmo você vai me ajudar bastante.

 

Falou http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Elektra é isso mesmo. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Obs:

1. preciso carregar arquivo .swf

2. controlar o número de botões, ou seja, que eu possa inserir ou tirar botões de alguma forma quando precisar, que não seja fixo em 4 botões

 

É isso mesmo Elektra por favor poste o código ou me fale onde posso pegar.

 

Valeu mesmo você vai me ajudar bastante.

 

Falou http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

 

Creio que a maneira como você criou o banner faça a diferença.

Eu criei shape no tamanho do banner e converti em movie clip, nas camadas internas cada "promoção" também converti em movie clips.

O acesso a visualização 1, 2, 3 e 4, são realmente botões.

Sobre os movie clips das promoções, criei um único botão invisível e alterei o nome de instância para sobrepor a cada um dos movie clips.

O tempo de exposição dos movie clips e dos botões são coordenados, e na camada actions, criada 4 labels (anima1, anima2, etc.)

 

Action para os botões 1, 2, 3, 4 - na timeline onde ficam todos os elementos

 

btn_1.addEventListener(MouseEvent.CLICK, irlabel1);

function irlabel1(event:MouseEvent):void {
	gotoAndPlay("anima1");
}
	

Action para acesso as páginas html - na timeline de cada movie clip das promoções

 

btn_promo_1.addEventListener(MouseEvent.CLICK, janela1);

function janela1(event:MouseEvent):void {
	var link1:URLRequest = new URLRequest(
										  "promo_1.html");
										  
	navigateToURL(link1);
}

Como os elementos são independentes, pode alterar o conteúdo e a quantidade conforme a necessidade, apenas adapte a timeline principal (labels) .

Espero que ajude, qualquer coisa volte a postar.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não baixei de nenhum lugar, criei com códigos simples, coisa de quem está começando, mas funciona perfeitamente.

A primeira versão que fiz era bem mais "tosca", meu intrutor de Flash pode conferir, esta que lhe informei recebeu um tratamento mais profissional, facilitando a edição.

Me abstive mencionar que ao publicar o action deve usar o endereço absoluto para as páginas html.

Por favor informe de onde você baixou o template, gostaria de conferir o funcionamento.

Informe também o que não funcionou no que postei. Qual o erro, publique a notificação.

Baixar um código é uma coisa, saber usá-lo é outra.

Fica muito fácil ganhar pronto e funcionando, legal é aprender a fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem... esses banner rotativos eh muito simples...

Ah diversas maneiras de faze-lo... eh só você entender a logica que acontence os eventos...

Mas eu sou horrivel para tentar explicar.. hehe...

Tentei postar aqui, mas infelizmente, sou nhaca mesmo pra ensinar... kkkkkkk

 

malss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas bah tchê!

Estou bem longe ser uma expert em Flash, mas com códigos simples o banner funciona muito bem.

Essa não aprendi em nenhum curso, nem templates, me virei sozinha. Com quase nada de esforço, qualquer um faz.

Não vai além do uso de labels e o action que mencionei (basicão mesmo).

Fica realmente idem ao banner da Livraria Saraiva (foi minha fonte de inspiração).

Os aprimoramentos vai de acordo com os conhecimentos e aptidões de cada um (recursos de imagens no PS, tween com alpha, etc).

Não tenho preguiça para dar uma mão, mas não faço o serviço dos outros.

 

Quem quiser algo mais elaborado, os colegas do fórum tem tutoriais publicados, é só acessar.

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.