ilippe 0 Denunciar post Postado Setembro 24, 2010 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
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 24, 2010 Na função de onLoadComplete você cria uma chamada para uma função que de o play e faça tudo rodar Abraços Compartilhar este post Link para o post Compartilhar em outros sites
ilippe 0 Denunciar post Postado Setembro 27, 2010 Pode me dar mais detalhes? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 27, 2010 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
ilippe 0 Denunciar post Postado Outubro 27, 2010 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