• User

    scroller orizzontale, problema

    Ciao a tutti,
    torno nuovamente a scrivere per un'altro piccolo problema con un'animazione.
    Mi spiego meglio:

    ho scaricato uno scroller orizzontale, da integrare a un progetto a cui sto lavorando (lo scroller in questione è sul sito w w w . f l e p s t u d i o . o r g (scusate se sto involontariamente spammando, ma non posso ancora allegare i link), e si chiama "scroller di immagini", non so se qualcuno lo conosce.

    La necessità che ho è quella di fare partire subito lo scorrimento delle immagini (attualmente parte solo al passaggio del mouse). Ho provato a guardare nel codice, ma non riesco a trovare qualcosa da settare in modo che mi cambi questa impostazione, qualche buon'anima potrebbe aiutarmi?

    vi lascio i codici del caso (se avete bisogno vi mando in pm tutti i file).

    Vi ringrazio in anticipo!

    main.fla

    function coloreRandom():Number
    {
        var n:Number=Math.random()*0xFFFFFF;
        return n;
    }
    
    ```loadingXML.as
    

    package
    {
    import flash.display.MovieClip;
    import flash.display.Loader;
    import flash.events.Event;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.xml.*;
    import flash.geom.ColorTransform;

    public class LoadingXML extends XMLDocument
    {
        private var _fla:MovieClip;
        
        public function LoadingXML(fla:MovieClip)
        {
            _fla=fla;
            this.loadXML();
        }
        private function loadXML():void
        {
            var loader:URLLoader=new URLLoader();
            loader.addEventListener(Event.COMPLETE,completeHandler);
            
            // Cambia l'url del file XML 
            var request:URLRequest=new URLRequest('images.xml');
            try 
            {
                loader.load(request);
            } 
            catch(error:Error) 
            {
                trace('Impossibile caricare il documento.');
            }
        }
        private function completeHandler(event:Event):void
        {
            var loader:URLLoader=URLLoader(event.target);
            var result:XML=new XML(loader.data);
            var myXML:XMLDocument=new XMLDocument();
            myXML.ignoreWhite=true;
            myXML.parseXML(result.toXMLString());
            var node:XMLNode=myXML.firstChild;
            var n:int=int(node.childNodes.length);
            for(var i:int=0;i<n;i++)
            {
                var obj:Object=new Object();
                obj.image=node.childNodes*.attributes['source'];
                _fla.objects_array.push(obj);
            }
            
            _fla.loadImages();
        }
    }
    

    }

    
    

    package
    {
    import flash.display.MovieClip;
    import flash.display.Loader;
    import flash.events.*;
    import flash.net.URLRequest;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.geom.Matrix;

    public class Caricatore 
    {
        private var _fla:MovieClip;
        private var clip:MovieClip;
        
        private var id:int;
        private var scaling:Number=40;
        
        private var loader:Loader;
        
        private var scaleMatrix:Matrix;
        
        private var bitmap_data:BitmapData;
        
        private var url_:String;
        
        public function Caricatore(fla:MovieClip,url:String,n:int)
        {
            _fla=fla;
            url_=url;
            id=n;
            
            _fla.info_txt.text=(id+1)+' / '+_fla.objects_array.length;
            
            init();
        }
        
        private function init():void 
        {
            var request:URLRequest=new URLRequest(url_);
            loader=new Loader();
            initListeners(loader.contentLoaderInfo);
            loader.load(request);
        }
        
        private function initListeners(dispatcher:IEventDispatcher):void 
        {
            dispatcher.addEventListener(Event.COMPLETE,completato);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR,seErrore);
        }
        
        private function completato(event:Event):void 
        {
            createThumb();
        }
    
        private function seErrore(event:IOErrorEvent):void 
        {
            trace("ioErrorHandler: "+event);
        }
        
        private function removeListeners(dispatcher:IEventDispatcher):void 
        {
            dispatcher.removeEventListener(Event.COMPLETE,completato);
            dispatcher.removeEventListener(IOErrorEvent.IO_ERROR,seErrore);
        }
        
        private function createThumb():void
        {
            scaling/=100;
        
            scaleMatrix=new Matrix();
            scaleMatrix.scale(scaling,scaling);
            
            _fla.objects_array[id].w=loader.width;
            _fla.objects_array[id].h=loader.height;
            bitmap_data=new BitmapData(loader.width*scaling,loader.height*scaling,true,0xFFFFFFFF);
            bitmap_data.draw(loader,scaleMatrix);
            
            var thumb:Bitmap=new Bitmap(bitmap_data);
            thumb.smoothing=true;
            
            clip=new MovieClip();
            clip.visible=false;
            clip.addChild(thumb);
            
            _fla.container_mc.addChild(clip);
            _fla.pics_array.push(clip);
            
            clip.id=id;
            clip.name='thumb_'+id;
            
            if(id<_fla.objects_array.length-1)
                _fla.loadImages();
            else
                _fla.positionClips();
        }
    }
    

    }


  • Super User

    Ciao Ve credo non ci sia soluzione al tuo quesito, quello scroller per funzionare si basa proprio sul rilevamento della posizione del mouse, poi ho visto che nello stesso forum di Flep almeno tre utenti hanno posto la stessa domanda senza ottenere risposta. Quindi se non ha dato soluzioni il creatore che è un mago di flash dubito che quà troverai qualcuno più bravo di Flep, mi dispiace.


  • User

    Eh sì, purtroppo avevo notato anche io che nessuno era stato in grado di rispondere al quesito, peccato perchè è uno scroller molto interessante... Opterò per qualcosa in jquery, ci saranno sicuramente delle suluzioni molto simili.

    Come al solito ti ringrazio per la gentilezza e la velocità con la quale rispondi ai quesiti.

    Ciao 🙂


  • Super User

    Se ti serve uno scroller quello non è certo l'unico reperibile sul web, hai già visto quello messo a disposizione da julius Design?


  • User

    Sì, il sito di julius lo spulcio spesso per trovare qualcosa di interessante.
    Alla fine ho optato per uno scroller in jquery che ha postato qualche giorno fa sul suo profilo di facebook (carouFredsel). All'inizio ero orientata su quello di flepstudio, perchè, al cliente piaceva molto come soluzione, ma sono riuscita a risolvere con quello in jquery che, per fortuna, gli piace ugualmente!


  • Super User

    Meglio così ciao e buon lavoro.


  • User

    Grazie a te per il suggerimento 🙂 ciao!