Ir para conteúdo

POWERED BY:

Arquivado

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

ilippe

Autoplay em banner rotativo

Recommended Posts

Abaixo esta um banner rotativo em flash. Ele funciona muito bem.

Mas não tem autoplay.

Gostaria de saber como por um autoplay nele para o banner ser adiantado uns 5 segundos ou 5000 milesegundos.

 

 

Download de todos os arquivos do banner: Banner rotativo

Os arquivos importados pela AS abaixo estão no link acima.

 

O AS:

package 
{
    import cn.com.aven.*;
    import flash.display.MovieClip;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.display.Sprite;
    import flash.display.Loader;
    import flash.net.navigateToURL;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
        
    public class BannerRotatorMain extends MovieClip
    {
        private var _xml :XML;// xml file
        
        //style
        private var _sw:Number;// set stage width
        private var _sh:Number;// set stage height
        private var _spacing:Number;// set number button spacing value
        private var _effect:Number;// set transtion effect

        //items
        private var _itemArr:Array;// all items array
        private var _itemLength:Number;// items length
        
        private var _nowInt:int = 0;// now selete item
        
        //num
        private var _numArr:Array;// all number button array
        private var _infoArr:Array;// all info Array
        
        
        public function BannerRotatorMain()
        {
            
        }
        
        //--------------  FUNCTION  --------------------//
        
        //start loader xml file
        public function init():void
        {
            // loader xml file
            var loader : URLLoader   = new URLLoader();
            loader.addEventListener(IOErrorEvent.IO_ERROR,onLoaderErrorEvent);
            loader.addEventListener(Event.COMPLETE,onLoaderCompleteEvent);
            loader.load(new URLRequest("brdata.xml"));
        }
        
        // Analysis of xml Data
        private function readXml():void
        {
            // style
            _sw = Number(_xml.style.width) || 1010;
            _sh = Number(_xml.style.height) || 280;
            _spacing = Number(_xml.style.spacing) || 5;
            _effect = Number(_xml.style.effect) || 1;
            // item length
            _itemLength = Number(_xml.items.item.length());
            
            _itemArr = [];
            for(var i:int = 0;i<_itemLength;i++)
            {
                var obj:Object =  {};
                obj.src        =  _xml.items.item[i].@src || "";
                obj.link        =  _xml.items.item[i].@link || "";
                _itemArr.push(obj);
            }
            // add all item
            addAllItem();
            // add number
            addNumber();
            // add mask
            var sp:Sprite = new Sprite();
            sp.graphics.beginFill(0xffffff,1);
            sp.graphics.drawRect(0,0,_sw,_sh);
            sp.graphics.endFill();
            addChild(sp);
            mask = sp;
        }
        
        private function addAllItem():void
        {
            for(var i:int =0;i<_itemLength;i++)
            {
                var mc:Sprite  = new Sprite();
                mc.name = i.toString();
                _itemArr[i].mc = mc;
                
                // add loader
                var lo:Preloader = new Preloader();
                _itemArr[i].lo = lo;
                lo.x = _sw/2;
                lo.y = _sh/2;
                lo.scaleX = 0.6;
                lo.scaleY = 0.6;
                mc.addChild(lo);
                
                // add item
                var loader:Loader = new Loader();
                loader.name = i.toString();
                loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onLoaderItemError);
                loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaderItemComplete);
                loader.load(new URLRequest(_itemArr[i].src));
                
                // set mc
                mc.x = _sw * i;
                mc.y = 0;
                mc.buttonMode = true;
                mc.addEventListener(MouseEvent.CLICK,onItemMouseClick);
                mc.mouseChildren = false;
                addChild(mc);
            }
        }
        // add all number button
        private function addNumber():void
        {
            _numArr = [];
            // add number button
            for(var i:int =0;i<_itemLength;i++)
            {
                var num:McBtn = new McBtn();
                num.name = i.toString();
                num.addEventListener(MouseEvent.CLICK,onNumMouseClick);
                num.txt.mouseEnabled = false;
                num.buttonMode = true;
                num.txt.text = (i+1).toString();
                num.x = _sw - (_itemLength - i)*(num.width + _spacing);
                num.y = _sh - 18;
                addChild(num);
                _numArr.push(num);
            }

            _numArr[_nowInt].gotoAndStop(_numArr[_nowInt].currentFrame + 2);
            _numArr[_nowInt].txt.y = -5;
        }
        // guider image change
        private function GuiderImage(i:int,j:int,bool:Boolean):void
        {
            removeAllImage();
            _itemArr[i].mc.visible = _itemArr[j].mc.visible = true;
            if(_effect == 1)
            {
                if(bool)
                {
                    _itemArr[i].mc.x = 0;
                    _itemArr[j].mc.x = -_sw;
                    Guider.to(_itemArr[i].mc,{tween:{x:_sw},blur:{blurXFrom:150,blurXTo:0}},600);
                }
                else
                {
                    _itemArr[j].mc.x = _sw;
                    Guider.to(_itemArr[i].mc,{tween:{x:-_sw},blur:{blurXFrom:150,blurXTo:0}},600);
                }
                Guider.to(_itemArr[j].mc,{tween:{x:0},blur:{blurXFrom:150,blurXTo:0}},600);
            }
            else
            {
                _itemArr[j].mc.alpha = 0;
                _itemArr[i].mc.x = 0;
                _itemArr[j].mc.x = 0;
                Guider.to(_itemArr[i].mc,{tween:{alpha:0}},600);
                Guider.to(_itemArr[j].mc,{tween:{alpha:1}},600);
            }

        }
        // set all item visible value
        private function removeAllImage():void
        {
            for(var i :int = 0;i<_itemArr.length;i++)
            {
                _itemArr[i].mc.visible = false;
            }
        }
        
        // set all info textfield visible value
        private function removeAllInfo():void
        {
            for(var i :int = 0;i<_infoArr.length;i++)
            {
                _infoArr[i].visible = false;
            }
        }
        
        //--------------  EVENT  ----------------------//
        
        // loader xml file error
        private function onLoaderErrorEvent(evt:IOErrorEvent):void
        {
            evt.currentTarget.removeEventListener(IOErrorEvent.IO_ERROR,onLoaderErrorEvent);
            evt.currentTarget.removeEventListener(Event.COMPLETE,onLoaderCompleteEvent);
            trace("erro no xml");
        }
        
        // loader xml file complete
        private function onLoaderCompleteEvent(evt:Event):void
        {
            evt.currentTarget.removeEventListener(IOErrorEvent.IO_ERROR,onLoaderErrorEvent);
            evt.currentTarget.removeEventListener(Event.COMPLETE,onLoaderCompleteEvent);
            _xml = new XML(evt.currentTarget.data);
            //Analyze xml data
            readXml();
        }
        
        // loader item error
        private function onLoaderItemError(evt:IOErrorEvent):void
        {
            evt.currentTarget.removeEventListener(IOErrorEvent.IO_ERROR,onLoaderItemError);
            evt.currentTarget.removeEventListener(Event.COMPLETE,onLoaderItemComplete);
        }
        
        // loader item complete
        private function onLoaderItemComplete(evt:Event):void
        {
            evt.currentTarget.removeEventListener(IOErrorEvent.IO_ERROR,onLoaderItemError);
            evt.currentTarget.removeEventListener(Event.COMPLETE,onLoaderItemComplete);
            var lo:Loader = evt.currentTarget.loader;
            try{
                _itemArr[int(evt.currentTarget.loader.name)].mc.removeChild(_itemArr[int(evt.currentTarget.loader.name)].lo);
            }catch(err:Error){};
            _itemArr[int(evt.currentTarget.loader.name)].mc.addChild(lo);
        }
        
        //number mouse click event
        private function onNumMouseClick(evt:*):void
        {
            if(int(evt.currentTarget.name) == _nowInt) return;                
            var i:int = _nowInt;
            var j:int = int(evt.currentTarget.name);
            var bool:Boolean;
            if(i == j) return;
            _numArr[i].gotoAndStop(evt.currentTarget.currentFrame - 2);
            _numArr[i].txt.y = 0;
            evt.currentTarget.gotoAndStop(3);
            evt.currentTarget.txt.y = -5;
            if(i > j) bool = true;
            _nowInt = j;
            GuiderImage(i,j,bool);
        }
        
        // textfield mouse click event
        private function onItemMouseClick(evt:MouseEvent):void
        {
            if(_itemArr[_nowInt].link != "") navigateToURL(new URLRequest(_itemArr[_nowInt].link),"_self");
        }
        
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué não foi tu quem fez?

 

Achei que fosse...

 

Ai basta criar uma nova função colocando um play como é feito para funcionar todo o resto.

Dentro disso:

private function onloaderCompleteEvent(evt:Event):void{
 init();
// resto do código
}
public function init(){
// Aqui o código para inciar o banner
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué não foi tu quem fez?

 

Achei que fosse...

 

Ai basta criar uma nova função colocando um play como é feito para funcionar todo o resto.

Dentro disso:

private function onloaderCompleteEvent(evt:Event):void{
 init();
// resto do código
}
public function init(){
// Aqui o código para inciar o banner
}

Abraços

 

Vo testar. Mas nunca disse que eu tinha feito isso.

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.