|
|
|||||
[+4 08.06.08]
|
Слайдшоу из XML
День добрый, делаю для себя слайд-шоу на подобии:
http://www.mas-cocagne.com/ XML вида: <picts> <p link="picts/01.jpg"/> <p link="picts/02.jpg"/> <p link="picts/03.jpg"/> <p link="picts/04.jpg"/> </picts> var picts_xml:XML = new XML(); picts_xml.ignoreWhite = true; picts_xml.onLoad = function(success) { if(success) { allPicts = picts_xml.firstChild.childNodes.length; } else { trace("xml не загружен"); } } picts_xml.load("picts.xml"); Заранее спасибо! |
|
|||||
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
http://www.thetechlabs.com/tutorials...show-with-xml/
http://www.republicofcode.com/tutori.../as3slideshow/
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
О, зря вы сохраняете атрибутах пути к файлам.
__________________
Дело не в тебе |
|
|||||
[+4 08.06.08]
|
Спасибо! а как добавить эффект движения изображения между их сменой?
import fl.transitions.Tween; import fl.transitions.easing.*; import fl.transitions.TweenEvent; var my_speed:Number; var my_total:Number; var my_images:XMLList; var my_loaders_array:Array=[]; var my_labels_array:Array=[]; var my_success_counter:Number=0; var my_playback_counter:Number=0; var my_slideshow:Sprite = new Sprite(); var my_image_slides:Sprite = new Sprite(); var my_label_slides:Sprite = new Sprite(); var my_preloader:TextField; var my_timer:Timer; var my_prev_tween:Tween; var my_tweens_array:Array=[]; var my_xml_loader:URLLoader = new URLLoader(); my_xml_loader.load(new URLRequest("slideshow.xml")); my_xml_loader.addEventListener(Event.COMPLETE, processXML); function processXML(e:Event):void { var my_xml:XML=new XML(e.target.data); my_speed=my_xml.@SPEED; my_images=my_xml.IMAGE; my_total=my_images.length(); loadImages(); my_xml_loader.removeEventListener(Event.COMPLETE, processXML); my_xml_loader=null; } function loadImages():void { for (var i:Number = 0; i < my_total; i++) { var my_url:String=my_images[i].@URL; var my_loader:Loader = new Loader(); my_loader.load(new URLRequest(my_url)); my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); my_loaders_array.push(my_loader); var my_label:TextField = new TextField(); my_label.text=my_images[i].@TITLE; my_label.autoSize=TextFieldAutoSize.LEFT; my_labels_array.push(my_label); } my_preloader = new TextField(); my_preloader.text="Loading"; my_preloader.autoSize=TextFieldAutoSize.CENTER; my_preloader.x = (stage.stageWidth - my_preloader.width)/2; my_preloader.y = (stage.stageHeight - my_preloader.height)/2; addChild(my_preloader); } function onComplete(e:Event):void { my_success_counter++; if (my_success_counter==my_total) { startShow(); } var my_loaderInfo:LoaderInfo=LoaderInfo(e.target); my_loaderInfo.removeEventListener(Event.COMPLETE, onComplete); } function startShow():void { removeChild(my_preloader); my_preloader=null; addChild(my_slideshow); my_slideshow.addChild(my_image_slides); my_slideshow.addChild(my_label_slides); nextImage(); my_timer=new Timer(my_speed*1000); my_timer.addEventListener(TimerEvent.TIMER, timerListener); my_timer.start(); } function nextImage():void { var my_image:Loader=Loader(my_loaders_array[my_playback_counter]); my_image_slides.addChild(my_image); my_image.x = (stage.stageWidth - my_image.width)/2; my_image.y = (stage.stageHeight - my_image.height)/2; my_tweens_array[0]=new Tween(my_image,"alpha",Strong.easeOut,0,1,1,true); var my_label:TextField=TextField(my_labels_array[my_playback_counter]); my_label_slides.addChild(my_label); my_label.x=my_image.x; my_label.y=my_image.y+my_image.height; my_tweens_array[1]=new Tween(my_label,"alpha",Strong.easeOut,0,1,1,true); } function timerListener(e:TimerEvent):void { hidePrev(); my_playback_counter++; if (my_playback_counter==my_total) { my_playback_counter=0; } nextImage(); } function hidePrev():void { var my_image:Loader=Loader(my_image_slides.getChildAt(0)); my_prev_tween=new Tween(my_image,"alpha",Strong.easeOut,1,0,1,true); my_prev_tween.addEventListener(TweenEvent.MOTION_FINISH, onFadeOut); var my_label:TextField=TextField(my_label_slides.getChildAt(0)); my_tweens_array[2]=new Tween(my_label,"alpha",Strong.easeOut,1,0,1,true); } function onFadeOut(e:TweenEvent):void { my_image_slides.removeChildAt(0); my_label_slides.removeChildAt(0); } |
Часовой пояс GMT +4, время: 05:03. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|