package
{
//importando todas las clases
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.net.URLLoader;
import gs.TweenMax;//clases de greensock
import gs.easing.*;//clases TweenMax
import flash.display.MovieClip;
import flash.net.URLLoaderDataFormat;
public class Galeria extends MovieClip
{
private var myLink:String = "http://www.bogotatrabaja.gov.co/index.php?option=com_content&view=article&id=27";
private var myURL:URLRequest;
private var src:String;
private var xml:XML;
private var xmlRequest:URLRequest;
private var xmlLoader:URLLoader;
private var tituloArray:Array = new Array();
private var textoArray:Array = new Array();
private var urlArray:Array = new Array();
//aqui se declararon todas la variables que se utilizaron en el resto del codigo...
public function Galeria()
{
addEventListener(Event.ADDED_TO_STAGE,init);//para diponer en el escenario
}
private function init(e:Event):void {
removeEventListener(Event.ADDED_TO_STAGE,init);
cargarXML();//carga del xml
}
private function cargarXML():void{
var src:String = "xml/noticias.xml";
var xml:XML;
var xmlRequest:URLRequest = new URLRequest(src);
var xmlLoader:URLLoader = new URLLoader(xmlRequest);
xmlLoader.dataFormat = URLLoaderDataFormat.TEXT;
xmlLoader.addEventListener(Event.COMPLETE,xmlComplete);
}
private function xmlComplete(e:Event):void{
xml = new XML(e.target.data);
llenarArrays();
}
private function llenarArrays():void{
for(var i:int;i<xml.noticia.length();i++){//loop para los botones
tituloArray.push(xml.noticia[i].titulo);
textoArray.push(xml.noticia[i].texto);
}
onStart();//animaciones e interactividad
etiquetarBotones();
moverBotones();
}
private function etiquetarBotones():void{//nombres botones
btn1.btn1_txt.text = tituloArray[5];
btn2.btn2_txt.text = tituloArray[4];
btn3.btn3_txt.text = tituloArray[3];
btn4.btn4_txt.text = tituloArray[2];
btn5.btn5_txt.text = tituloArray[1];
btn6.btn6_txt.text = tituloArray[0];
}
private function onStart():void{
img1.alpha = 0;//alpha fotos
img2.alpha = 0;
img3.alpha = 0;
img4.alpha = 0;
info_mc.alpha = 0;
TweenMax.to(img1,1,{alpha:1,onComplete:next1});
animarBotones();
}
private function next1():void{
TweenMax.to(img1,1,{delay:3, alpha:0,onComplete:next2});
TweenMax.to(img2,1,{delay:3, alpha:1});
}
private function next2():void{
TweenMax.to(img2,1,{delay:3, alpha:0,onComplete:next3});
TweenMax.to(img3,1,{delay:3, alpha:1});
}
private function next3():void{
TweenMax.to(img3,1,{delay:3, alpha:0,onComplete:next4});
TweenMax.to(img4,1,{delay:3, alpha:1});
}
private function next4():void{
TweenMax.to(img4,1,{delay:3, alpha:0,onComplete:next1});
TweenMax.to(img1,1,{delay:3, alpha:1});//aqui es donde termina la secuencia, analizala.
}
private function animarBotones():void{//acciones para los botones al hacer roll over sobre ellos
btn0.addEventListener(MouseEvent.ROLL_OVER,over);
btn1.addEventListener(MouseEvent.ROLL_OVER,over);
btn2.addEventListener(MouseEvent.ROLL_OVER,over);
btn3.addEventListener(MouseEvent.ROLL_OVER,over);
btn4.addEventListener(MouseEvent.ROLL_OVER,over);
btn5.addEventListener(MouseEvent.ROLL_OVER,over);
btn6.addEventListener(MouseEvent.ROLL_OVER,over);
//
btn0.addEventListener(MouseEvent.ROLL_OUT,out);//roll out
btn1.addEventListener(MouseEvent.ROLL_OUT,out);
btn2.addEventListener(MouseEvent.ROLL_OUT,out);
btn3.addEventListener(MouseEvent.ROLL_OUT,out);
btn4.addEventListener(MouseEvent.ROLL_OUT,out);
btn5.addEventListener(MouseEvent.ROLL_OUT,out);
btn6.addEventListener(MouseEvent.ROLL_OUT,out);
//
btn0.addEventListener(MouseEvent.CLICK,clic);//link
}
private function over(e:MouseEvent):void{
switch(e.currentTarget){
case btn0:
e.currentTarget.gotoAndPlay("s1");
break ;
case btn1:
e.currentTarget.gotoAndPlay("s1");
mostarInfo();
actualizarNoticia(textoArray[5]);
break ;
case btn2:
e.currentTarget.gotoAndPlay("s1");
mostarInfo();
actualizarNoticia(textoArray[4]);
break ;
case btn3:
e.currentTarget.gotoAndPlay("s1");
mostarInfo();
actualizarNoticia(textoArray[3]);
break ;
case btn4:
e.currentTarget.gotoAndPlay("s1");
mostarInfo();
actualizarNoticia(textoArray[2]);
break;
case btn5:
e.currentTarget.gotoAndPlay("s1");
mostarInfo();
actualizarNoticia(textoArray[1]);
break;
case btn6:
e.currentTarget.gotoAndPlay("s1");
mostarInfo();
actualizarNoticia(textoArray[0]);
break;
}
}
private function out(e:MouseEvent):void{//animacion para el roll out
switch(e.currentTarget){
case btn0:
e.currentTarget.gotoAndPlay("s2");
ocultarInfo();
break ;
case btn1:
e.currentTarget.gotoAndPlay("s2");
ocultarInfo();
break ;
case btn2:
e.currentTarget.gotoAndPlay("s2");
ocultarInfo();
break ;
case btn3:
e.currentTarget.gotoAndPlay("s2");
ocultarInfo();
break ;
case btn4:
e.currentTarget.gotoAndPlay("s2");
ocultarInfo();
break;
case btn5:
e.currentTarget.gotoAndPlay("s2");
ocultarInfo();
break;
case btn6:
e.currentTarget.gotoAndPlay("s2");
ocultarInfo();
break;
}
}
private function clic(e:MouseEvent):void{
myURL = new URLRequest(myLink);
navigateToURL(myURL,"_blank");
}
private function mostarInfo():void{//muestrar los textos de las noticias
TweenMax.to(info_mc,1,{alpha:1});
}
private function ocultarInfo():void{//ocultar
TweenMax.to(info_mc,1,{alpha:0});
}
private function actualizarNoticia(queNoticia:String):void{
info_mc.infoText.text = queNoticia;//cambio de noticia
}
private function moverBotones():void{
addEventListener(Event.ENTER_FRAME,EF);
}
private function EF(e:Event):void{
btn1.y -= 1;
btn2.y -= 1;
btn3.y -= 1;
btn4.y -= 1;
btn5.y -= 1;
btn6.y -= 1;
//
acomodar(btn1);
acomodar(btn2);
acomodar(btn3);
acomodar(btn4);
acomodar(btn5);
acomodar(btn6);
}
private function acomodar(objeto:Object):void{
if(objeto.y < 60){
objeto.y = 185;
}
}
private function detenerBotones():void{
addEventListener(MouseEvent.ROLL_OVER,MROL);
}
private function MROL(e:MouseEvent):void{
btn1.y = 0;
btn2.y = 0;
btn3.y = 0;
btn4.y = 0;
btn5.y = 0;
btn6.y = 0;
}
}
}