Un esempio di un utente di FlepStudio che ha personalizzato questa utilità:
INTRUDE GAMING
Un' altra risorsa gratuita per gli utenti di FlepStudio.
E' sempre uno scroller tipo lo Scroller di Immagini che abbiamo già visto, ma questa volta è verticale e visualizza degli eventi che sono gestiti da un file XML.
In sostanza, visualizza un evento con data, titolo evento, testo eveto e immagine evento. Chiaramente ogni evento è cliccabile e punta il browser verso le pagine che volete.
Effetto scroller in base alla posizione del mouse.
Vediamolo...*
SCROLLER DI EVENTI
Flash CS3+XML
Pacchetto files
main.fla
Main.as
LoadingXML.as
Caricatore.as
ClipEvent.as
events.xml
cartella con immagini di prova
readme.txt
Puoi scaricare i files nella sezione downloads di questo sito.
Importante : Aprire il file LoadingXML.as e alla riga 34 cambiare l' url di chiamata al file XML.
Opzioni file XML:
data evento, titolo evento, testo evento, immagine evento, url evento
XMLAllego i files sorgente:HTML Code:<?xml version="1.0" encoding="UTF-8"?> <events> <item date="Sept 14 2007"> <title>Event 1</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_0.jpg</thumb> <text>Lorem ipsum dolor sit amet, donec cras, ante elit pede iaculis quam natoque nulla. Ante etiam aliquam.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 15 2007"> <title>Event 2</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_1.jpg</thumb> <text>Elementum nec maecenas suscipit est, turpis ut, pellentesque fusce suspendisse ad sollicitudin eleifend pharetra.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 16 2007"> <title>Event 3</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_2.jpg</thumb> <text>Eget vel laoreet tempor, nunc in ut vel odio sed class, sed libero.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 17 2007"> <title>Event 4</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_3.jpg</thumb> <text>Tincidunt libero duis eget est lectus. Faucibus feugiat arcu varius, mauris arcu vel dolor. </text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 18 2007"> <title>Event 5</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_4.jpg</thumb> <text>Malesuada donec dui commodo massa tortor, ut ut non, vitae arcu officia dignissim eu metus mi, auctor ultrices ante sed justo orci, fames pellentesque justo auctor pellentesque metus sollicitudin.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 19 2007"> <title>Event 6</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_5.jpg</thumb> <text>Tellus amet nulla nec, sit dolor mauris enim, vehicula lobortis, vitae eget suscipit, donec non euismod donec fusce et excepturi.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 20 2007"> <title>Event 7</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_6.jpg</thumb> <text>Lorem ipsum dolor sit amet, donec cras, ante elit pede iaculis quam natoque nulla. Ante etiam aliquam.Lorem ipsum dolor sit amet, donec cras, ante elit pede iaculis quam natoque nulla. Ante etiam aliquam.Lorem ipsum dolor sit amet, donec cras, ante elit pede iaculis quam natoque nulla. Ante etiam aliquam.Lorem ipsum dolor sit amet, donec cras, ante elit pede iaculis quam natoque nulla. Ante etiam aliquam.Lorem ipsum dolor sit amet, donec cras, ante elit pede iaculis quam natoque nulla. Ante etiam aliquam.Lorem ipsum dolor sit amet, donec cras, ante elit pede iaculis quam natoque nulla. Ante etiam aliquam.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 21 2007"> <title>Event 8</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_7.jpg</thumb> <text>Et etiam. Pellentesque tristique commodo lectus nibh placerat porttitor, in mauris ut vestibulum.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 22 2007"> <title>Event 9</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_8.jpg</thumb> <text>Nisl a tempus velit, proin commodo neque nunc ut magna, leo donec, gravida vel habitant nostra, sit augue.</text> <url>http://www.flepstudio.org/</url> </item> <item date="Sept 23 2007"> <title>Event 10</title> <thumb>http://www.flepstudio.org/utilita/EventsScroller/thumbs/thumb_9.jpg</thumb> <text>Phasellus molestie in diam sed et diam, luctus lectus orci, sit metus nam ligula metus vestibulum elit.</text> <url>http://www.flepstudio.org/</url> </item> </events>
Last edited by Flep; 05-06-08 at 07:06.
Un esempio di un utente di FlepStudio che ha personalizzato questa utilità:
INTRUDE GAMING
Ciao Flep, ho scaricato e modificato il file a mio piacimento, ma quando tento di caricarlo in un'altro swf viene generato l'errore 1009.. Mi sapresti aiutare? Grazie.
Cecco
Posto i miei file, se vuoi dargli un'occhio..
Non è fatto per essere caricato in un altro SWF.
Bisognerebbe ricreare lo script.
Nell'esempio di intrude gaming sembrava esserlo.. Non c'è proprio modo di adattarlo?![]()
Il modo c'è, ma non ho il tempo di farlo io.
Se ad esempio usi questa Main.as
Te lo carica senza errori, ma poi devi riposizionare tutto.Code:/* ************************************* * Events Scroller * http://www.FlepStudio.org * © Author: Filippo Lughi * version 1.0 ************************************* */ package { import flash.display.MovieClip; import flash.text.TextField; import flash.events.Event; import flash.events.ContextMenuEvent; import flash.net.URLRequest; import flash.net.navigateToURL; import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; public class Main extends MovieClip { private var file_xml:LoadingXML; private var caricatore:Caricatore; public var objects_array:Array; public var thumbs_array:Array; public var container_mc:MovieClip; private var counter:int=0; private var ratio:Number; private var speed:int=1; public function Main() { addEventListener(Event.ADDED_TO_STAGE,init); } private function init(evt:Event):void { initMenu(); loadXML(); stage.frameRate=30; objects_array=new Array(); thumbs_array=new Array(); container_mc=new MovieClip(); addChild(container_mc); } private function loadXML():void { file_xml=new LoadingXML(this); } public function loadImage():void { caricatore=new Caricatore(this,objects_array[counter].thumb,counter); counter++; } public function positionClips():void { removeChild(loading_txt); removeChild(info_txt); for (var i:int=0; i0) { thumbs_array[i].y=thumbs_array[i-1].y+thumbs_array[i-1].height+10; } thumbs_array[i].visible=true; } container_mc.x=(stage.stageWidth-container_mc.width)/2; ratio=-container_mc.height/stage.stageHeight; doMovement(); } private function doMovement():void { container_mc.addEventListener(Event.ENTER_FRAME,moveMe); } private function moveMe(evt:Event):void { if (hit_mc.hitTestPoint(mouseX,mouseY)) { var arrY:Number=mouseY*ratio+stage.stageHeight/2; var dy:Number=arrY-evt.currentTarget.y; var ay:Number=dy*.3; evt.currentTarget.y+=ay; check(evt.currentTarget as MovieClip); } else { evt.currentTarget.y-=speed; check2(evt.currentTarget as MovieClip); } } private function check(m:MovieClip):void { if (m.y<-m.height+stage.stageHeight-10) { m.y=-m.height+stage.stageHeight-10; } else if (m.y>0) { m.y=0; } } private function check2(m:MovieClip):void { if (m.y<=-m.height+stage.stageHeight) { speed*=-1; } else if (m.y>=0) { speed*=-1; } } public function initMenu():void { var etichetta:String='Flash Events Scroller'; var cm:ContextMenu=new ContextMenu(); var item:ContextMenuItem=new ContextMenuItem(etichetta); cm.hideBuiltInItems(); cm.customItems.push(item); item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,itemHandler1); this.contextMenu=cm; } private function itemHandler1(event:ContextMenuEvent):void { var url:String='http://www.flepstudio.org/'; var request:URLRequest=new URLRequest(url); navigateToURL(request,'_parent'); } } }
A te il compito![]()
Scusami Flep ma non ho molta dimestichezza coi cicli e gli array.. Già non ne avevo con AS2, ora AS3 mi rende le cose ancora più difficili. Per riposizionare il contenuto non credo ci saranno problemi, però il main.as qui sopra contiene qualche errorino di sintassi e io non riesco a risolvere. Quando puoi gli daresti una ricontrollata? Grazie.
Chiedo scusa cecco, la fretta ogni tanto è tiranna
Ecco la Main.as :
Code:/* ************************************* * Events Scroller * http://www.FlepStudio.org * © Author: Filippo Lughi * version 1.0 ************************************* */ package { import flash.display.MovieClip; import flash.text.TextField; import flash.events.Event; import flash.events.ContextMenuEvent; import flash.net.URLRequest; import flash.net.navigateToURL; import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; public class Main extends MovieClip { private var file_xml:LoadingXML; private var caricatore:Caricatore; public var objects_array:Array; public var thumbs_array:Array; public var container_mc:MovieClip; private var counter:int=0; private var ratio:Number; private var speed:int=1; public function Main() { addEventListener(Event.ADDED_TO_STAGE,init); } private function init(evt:Event):void { removeEventListener(Event.ADDED_TO_STAGE,init); initMenu(); loadXML(); stage.frameRate=30; objects_array=new Array(); thumbs_array=new Array(); container_mc=new MovieClip(); addChild(container_mc); } private function loadXML():void { file_xml=new LoadingXML(this); } public function loadImage():void { caricatore=new Caricatore(this,objects_array[counter].thumb,counter); counter++; } public function positionClips():void { removeChild(loading_txt); removeChild(info_txt); for (var i:int=0; i0) { thumbs_array[i].y=thumbs_array[i-1].y+thumbs_array[i-1].height+10; } thumbs_array[i].visible=true; } container_mc.x=(stage.stageWidth-container_mc.width)/2; ratio=-container_mc.height/stage.stageHeight; doMovement(); } private function doMovement():void { container_mc.addEventListener(Event.ENTER_FRAME,moveMe); } private function moveMe(evt:Event):void { if (hit_mc.hitTestPoint(mouseX,mouseY)) { var arrY:Number=mouseY*ratio+stage.stageHeight/2; var dy:Number=arrY-evt.currentTarget.y; var ay:Number=dy*.3; evt.currentTarget.y+=ay; check(evt.currentTarget as MovieClip); } else { evt.currentTarget.y-=speed; check2(evt.currentTarget as MovieClip); } } private function check(m:MovieClip):void { if (m.y<-m.height+stage.stageHeight-10) { m.y=-m.height+stage.stageHeight-10; } else if (m.y>0) { m.y=0; } } private function check2(m:MovieClip):void { if (m.y<=-m.height+stage.stageHeight) { speed*=-1; } else if (m.y>=0) { speed*=-1; } } public function initMenu():void { var etichetta:String='Flash Events Scroller'; var cm:ContextMenu=new ContextMenu(); var item:ContextMenuItem=new ContextMenuItem(etichetta); cm.hideBuiltInItems(); cm.customItems.push(item); item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,itemHandler1); this.contextMenu=cm; } private function itemHandler1(event:ContextMenuEvent):void { var url:String='http://www.flepstudio.org/'; var request:URLRequest=new URLRequest(url); navigateToURL(request,'_parent'); } } }
Mi genera sempre alcuni errori di sintassi tra la riga 60 e la 62..![]()
A me no,
prova tu stesso:
Bookmarks