Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, beleza?
Seguinte, estou como uma duvida de como colocar um link usando AS3.
Se fosse AS2, criaria um obejto com uma area sensivel e dentro desse objeto colocaria um getURL.
Mas utilizando AS3, não posso fazer isso. Ele pede que eu coloque a minha ação dentro de um frame. Quando faço isso meu banner rotativo para de funcionar.
Nesse banner eu tenho 5 botoes que chamam via AS3, 5 imagens diferentes. (queria ter um link em cada uma dessas 5 imagens. fazendo com que quando clicadas redirecionem para uma pagina na web)
Alguem sabe como fazer isso?
Segue o codigo que utilizei para fazer meu banner:
import com.greensock.*;
import com.greensock.easing.*;
// variavel numero de botoes instaciados
var arrBotoes:Array=new Array(bt_01,bt_02,bt_03,bt_04,bt_05);
var timer:Timer;
var controle:int=1;
// variavel controla tempo dos produtos
adicionaListener();
timer=new Timer(5000);
timer.addEventListener(TimerEvent.TIMER , _qualbanner);
timer.start();
trace(timer);
// variavel para botoes
function adicionaListener():void {
for (var i:int = 0; i < arrBotoes.length; i++) {
arrBotoes[i].buttonMode=true;
arrBotoes[i].mouseChildren=false;
arrBotoes[i].addEventListener(MouseEvent.MOUSE_OVER, cima);
arrBotoes[i].addEventListener(MouseEvent.MOUSE_OUT, fora);
}
}
// variavel numero produto. sempre um numero a mais que a quantidade de produtos
function _qualbanner(e:TimerEvent):void {
if (controle==6) {
controle=1;
}
trocabanner(controle);
controle++;
}
function cima(e:MouseEvent):void {
e.target.gotoAndPlay(2);
}
function fora(e:MouseEvent):void {
e.target.gotoAndPlay(6);
}
// variavel tween dos botoes
bt_01.addEventListener(MouseEvent.CLICK, passa01);
bt_02.addEventListener(MouseEvent.CLICK, passa02);
bt_03.addEventListener(MouseEvent.CLICK, passa03);
bt_04.addEventListener(MouseEvent.CLICK, passa04);
bt_05.addEventListener(MouseEvent.CLICK, passa05);
function trocabanner(e:int):void {
trace(e);
switch (e) {
case 1 :
TweenLite.to(slide, 1, {x:0, ease:Expo.easeOut});
break;
case 2 :
TweenLite.to(slide, 1, {x:-770, ease:Expo.easeOut});
break;
case 3 :
TweenLite.to(slide, 1, {x:-1540, ease:Expo.easeOut});
break;
case 4 :
TweenLite.to(slide, 1, {x:-2310, ease:Expo.easeOut});
break;
case 5 :
TweenLite.to(slide, 1, {x:-3080, ease:Expo.easeOut});
break;
}
}
function passa01(e:MouseEvent):void {
TweenLite.to(slide, 1, {x:0, ease:Expo.easeOut});
}
function passa02(e:MouseEvent):void {
TweenLite.to(slide, 1, {x:-770, ease:Expo.easeOut});
}
function passa03(e:MouseEvent):void {
TweenLite.to(slide, 1, {x:-1540, ease:Expo.easeOut});
}
function passa04(e:MouseEvent):void {
TweenLite.to(slide, 1, {x:-2310, ease:Expo.easeOut});
}
function passa05(e:MouseEvent):void {
TweenLite.to(slide, 1, {x:-3080, ease:Expo.easeOut});
}
Muito obrigado pela ajuda.
Att,
Felipe Machado
Olá amigo. Obrigado pela resposta.
Pouco antes de ver essa sua resposta, eu consegui resolver da seguinte maneira.
O que eu fiz foi:
1. Dentro do MC chamado "slide", em cima das imagens que estão uma ao lado da outra, criei 5 botoes istanciados de bt001, bt002, bt003, bt004 e bt005.
2. Criei uma camada de actions. E fiz o seguinte codigo:
bt001.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
navigateToURL(new URLRequest('http://www.seu_site_aqui.com.br'));
});
bt002.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
navigateToURL(new URLRequest('http://www.seu_site_aqui.com.br'));
});
bt003.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
navigateToURL(new URLRequest('http://www.seu_site_aqui.com.br'));
});
bt004.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
navigateToURL(new URLRequest('http://www.seu_site_aqui.com.br'));
});
bt005.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
navigateToURL(new URLRequest('http://www.seu_site_aqui.com.br'));
});
Com isso, tudo funcionou legal.
Mas ainda sim tenho uma duvida. Quando clico na imagem do banner, ela abre uma outra janela. Ou seja o famoso _BLANK, só que em nenhum momento coloquei uma função para que quando clicar fosse para uma pagina em branco. Gostaria que quando clicasse, a pagina nova caregasse na mesma pagiana, ou seja, _SELF.
Alguem sabe como fazer?
===================
resolvido
===================
Problema resolvido.
Para abrir na mesma janela, bastou colocar o _self após o 1º parenteses.
Ficou assim:
bt001.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
navigateToURL(new URLRequest('http://www.seu_site_aqui.com.br'), '_self');
});
Obrigado,
Felipe
Segue:
Lembrando que voce pode otimizar o código com XML e o casting dos botoes pode ser feito via AS sem o uso de arrays.
qualquer dúvida, é só postar novamente.
// variavel numero de botoes instaciados
// variavel controla tempo dos produtos
// variavel para botoes
// variavel numero produto. sempre um numero a mais que a quantidade de produtos
trace(e.target.id)
}
// variavel tween dos botoes
switch (e) { case 1 :>
Fala galera, beleza?
Seguinte, estou como uma duvida de como colocar um link usando AS3.
Se fosse AS2, criaria um obejto com uma area sensivel e dentro desse objeto colocaria um getURL.
Mas utilizando AS3, não posso fazer isso. Ele pede que eu coloque a minha ação dentro de um frame. Quando faço isso meu banner rotativo para de funcionar.
Nesse banner eu tenho 5 botoes que chamam via AS3, 5 imagens diferentes. (queria ter um link em cada uma dessas 5 imagens. fazendo com que quando clicadas redirecionem para uma pagina na web)
Alguem sabe como fazer isso?
Segue o codigo que utilizei para fazer meu banner:
// variavel numero de botoes instaciados
// variavel controla tempo dos produtos
// variavel para botoes
// variavel numero produto. sempre um numero a mais que a quantidade de produtos
// variavel tween dos botoes
switch (e) { case 1 :Muito obrigado pela ajuda.
Att,
Felipe Machado