图片切换

images.mxml

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    creationComplete="createComplete()"
    layout="absolute"
    fontSize="12"
    width="200"
    height="120"
    borderColor="#E48911" backgroundColor="#FFFFFF">
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
   import mx.controls.Button;
   import mx.controls.Image;
   public var images:Array = [];
   public var buttons:Array = [];
   public var urls:Array = [];
   public var currentImageIndex:Number = 0;
   public var ttime:Timer;
   public var titles:Array=[];
   
   public function createComplete():void {
    
    this.horizontalScrollPolicy = "off";
    this.verticalScrollPolicy="off";
    
    c.horizontalScrollPolicy = "off";
    c.verticalScrollPolicy="off";
    
    h.horizontalScrollPolicy = "off";
    h.verticalScrollPolicy="off";
    h.setStyle("horizontalGap",2);
    
    imask.buttonMode = true;
    imask.addEventListener(MouseEvent.CLICK,toUrl);
    
    title.useHandCursor=true;
    title.buttonMode=true;
    title.mouseChildren=false;
    
    
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE,setPictures);
    loader.dataFormat = URLLoaderDataFormat.TEXT;
    loader.load(new URLRequest("pics.xml"));
    
   }
   
   private function setPictures(evt:Event):void{
    var loader:URLLoader = URLLoader(evt.target);
    var AnnounceXml:XML = XML(loader.data);
    var i:Number = 0;
    for each(var element:XML in AnnounceXml.elements()){
     if (element.name()=="item"){
      
      var name:String = element.@name;
      var img:String = element.@img;
      var url:String = element.@url;
      titles[i]=element.@title;
      
      var button:Button = new Button;
      button.setStyle("fontSize","10");
      button.setStyle("cornerRadius","0");
      button.setStyle("borderColor","#FFFFFF");
      button.setStyle("color","#FFFFFF");
      button.setStyle("themeColor","#FFFFFF");
      button.setStyle("backgroundColor","#CC2707");
      button.setStyle("fillColors",["#CC2707","#CC2707"]);
      button.setStyle("fillAlphas",[0.3, 0.3]);
      
      button.width=30;
      button.height=15;
      button.label = new String(i+1);
      button.buttonMode = true;
      button.addEventListener(MouseEvent.CLICK,selectImage);
      buttons[i]=button;
      h.addChild(button);
      
      var tempImage:Image = new Image();
      tempImage.x=0;
      tempImage.y=0;
      tempImage.source = img;
      tempImage.width = c.width;
      tempImage.height = c.height;
      //tempImage.visible = false;
      
      
      
      var p:Number = (new Date()).getTime() % 4;
      var eff:String;
      switch(p) {
       case 0:
        eff = "fadeIn";
        break;
       case 1:
        eff = "aWipeRight";
        break;
       case 2:
        eff = "aIris";
        break;
       case 3:
        eff = "aWipeLeft";
        break;
       default:
        eff = "fadeIn";
      }
      tempImage.setStyle("showEffect",eff);
      
      images[i]=tempImage;
      c.addChild(tempImage);
      urls[i]=url;
      i++;
     }
    }
    
    
    
    h.y = this.height - 15 - 15;
    h.x = this.width - (30*images.length) - 15;
    
    
    clickIndex(currentImageIndex);
    (buttons[currentImageIndex] as Button).setStyle("fontWeight","bold");
    (buttons[currentImageIndex] as Button).setStyle("fillAlphas",[1, 1]);
    
    ttime = new Timer(2500,0);  
    ttime.addEventListener(TimerEvent.TIMER,function():void{autoPlay();});
    ttime.start();     
   }
   
   private function clickIndex(i:Number):void {
    (images[i] as Image).visible = false;
    c.setChildIndex(images[i],images.length-1);
    (images[i] as Image).visible = true;
    currentImageIndex = i;
    title.text=titles[i];
    title.addEventListener(MouseEvent.CLICK,toUrl);
   }
   
   private function selectImage(evt:MouseEvent):void {
    
    ttime.reset();
    ttime = new Timer(2500,0);  
    ttime.addEventListener(TimerEvent.TIMER,function():void{autoPlay();});
    ttime.start();
    
    var button:Button = Button(evt.currentTarget);
    var index:Number = h.getChildIndex(button);
    
    if (index==currentImageIndex) return;
    (buttons[currentImageIndex] as Button).setStyle("fontWeight","normal");
    (buttons[currentImageIndex] as Button).setStyle("fillAlphas",[0.3, 0.3]);     
    button.setStyle("fontWeight","bold");
    button.setStyle("fillAlphas",[1, 1]);
    clickIndex(index);
   }
   
   
   
   private function toUrl(evt:MouseEvent):void {
    navigateToURL(new URLRequest(urls[currentImageIndex]), "_blank");  
   }
   
   private function autoPlay():void{
    (buttons[currentImageIndex] as Button).setStyle("fontWeight","normal");
    (buttons[currentImageIndex] as Button).setStyle("fillAlphas",[0.3, 0.3]);  
    
    currentImageIndex ++ ;
    if (currentImageIndex >= images.length) {
     currentImageIndex = 0;
    }
    (buttons[currentImageIndex] as Button).setStyle("fontWeight","bold");
    (buttons[currentImageIndex] as Button).setStyle("fillAlphas",[1, 1]);
    clickIndex(currentImageIndex);
   }
   
  ]]>
 </mx:Script>
 <mx:Fade id="fadeIn" duration="500" alphaFrom="0.0" alphaTo="1.0"/>
 <mx:Iris id="aIris"/>
 <mx:WipeRight id="aWipeRight" />
 <mx:WipeLeft id="aWipeLeft" />
 
 <mx:Canvas id="c" x="0" y="0" width="100%" height="100%">
 </mx:Canvas>
 <mx:Canvas id="imask" x="0" y="0" width="100%" height="100%" backgroundColor="#FFFFFF"
      alpha="0"> 
 </mx:Canvas>
 <mx:Canvas backgroundColor="#FFFFFF" width="120" height="25" x="5" y="90" >
  <mx:Label id="title" height="16" width="116" y="2" x="2" fontSize="12"
      ></mx:Label>
 </mx:Canvas>
 <mx:HBox id="h" horizontalAlign="right" verticalAlign="bottom">
 </mx:HBox>
</mx:Application>

 

 

pics.xml

 

<?xml version="1.0" encoding="utf-8" ?>
<AlterPic>
<item name="图片1图片1图片1" url="#.aspx" img="1.jpg" title="油机调度调度方案1"/>
<item name="图片2图片2图片2" url="#.aspx" img="2.jpg" title="油机调度调度方案2"/>
<item name="图片3图片3图片3" url="#.aspx" img="3.jpg" title="油机调度调度方案3"/>

</AlterPic>
 

 

 

你可能感兴趣的:(timer,function,image,String,button,encoding)