Loading:


    Rotator zdjęć oraz banerów w ActionScript 3 - wersja podstawowa

    Skrypt tworzy gotowy rotator banerów Flash, obrazy są pobierane z pliku XML, oraz co każde 3 sekundy następują przejścia.

     

    Każdy banner posiada również zdanię opisu oraz odnośnik na stronę po kliknięciu na niego.

     

    Wersja On-line:

     

    >> Kliknij tutaj <<

     

    Skrypt wklejamy do pierwszej klatki filmu, aby jednak on zadziała należy utworzyć: pole dynamiczne o nazwie: opis_txt, klip filmowy o nazwie szablon_mc, oraz klip o nazwie loading_mc, które zawiera pole dynamiczne o nazwie pole_loading_txt .

     

    Ten przykład wykorzystuje biblioteke Tween Lite Basic, którą można pobrać tutaj: [ pobierz ]



    Napisz Artyku³

    Listing

    import gs.TweenLite;
    import gs.easing.*;

    var centrumX:Number = stage.width / 4;
    var centrumY:Number = stage.height / 4;
    var rotator:Timer = new Timer(3000);
    var obrazLoader:Loader = new Loader();
    var aktualny_obraz:Number = 0;
    var obraz_data:BitmapData;
    var obrazy:Array = new Array();
    rotator.addEventListener(TimerEvent.TIMER, wczytanie_baneru);

    var plikXML:URLRequest = new URLRequest("obrazki.xml");
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, plik_wczytany);
    loader.addEventListener(ProgressEvent.PROGRESS, ladowanieXML);
    loader.load(plikXML);

    var banery:XML = new XML();
    banery.ignoreWhitespace = true;
    var xmlList:XMLList;
           
    var sciezki:Array = new Array();
    var opisy:Array = new Array();
    var odnosniki:Array = new Array();

    var procent:String;

    function ladowanieXML(e:ProgressEvent):void {
            loading_mc.alpha = 1;
            procent = (Math.floor(e.bytesLoaded / e.bytesTotal * 100)).toString();
            loading_mc.pole_loading_txt.text = "Ładowanie Pliku XML: "+procent+"%";
    }

    function plik_wczytany(e:Event):void {
            loading_mc.pole_loading_txt.text = "";
            banery = XML(e.target.data);
            xmlList = banery.children();
           
            for (var i:int=0; i<xmlList.length(); i++) {
                    sciezki.push(xmlList.@adres[i]);
                    opisy.push(xmlList.@opis[i]);
                    odnosniki.push(xmlList.@odnosnik[i]);
            }
            szablon_mc.useHandCursor = true;
            wczytanie_baneru(null);
    }

    function wczytanie_baneru(e:TimerEvent):void {
            if (aktualny_obraz == sciezki.length) {
                    aktualny_obraz = 0;
            }
            rotator.stop();
            szablon_mc.alpha = 0.4;
            TweenLite.to(szablon_mc, 0.5, {alpha:1});
            var pojemnik:MovieClip = new MovieClip();
            opis_txt.text = opisy[aktualny_obraz];
            pojemnik.odnosnik = odnosniki[aktualny_obraz];
           
            szablon_mc.addEventListener(MouseEvent.MOUSE_DOWN, przekierowanie_URL);
            if (obrazy[aktualny_obraz] == null) {
                    var obraz:URLRequest = new URLRequest(sciezki[aktualny_obraz]);
                    obrazLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, wyswietlenie_zdjecia);
                    obrazLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, wczytywanie_obrazu);
                    obrazLoader.load(obraz);
            } else {
                    obrazLoader = obrazy[aktualny_obraz]
                    wyswietlenie_zdjecia(null);
            }
    }

    function wczytywanie_obrazu(e:ProgressEvent):void {
            if (obrazy[aktualny_obraz] == null ) {
            TweenLite.to(loading_mc, 0.5, {alpha:1});
            }
            procent = (Math.floor(e.bytesLoaded / e.bytesTotal * 100)).toString();
            loading_mc.pole_loading_txt.text ="Ładowanie obrazu: "+procent+"%";
    }

    function przekierowanie_URL(e:MouseEvent):void {
            navigateToURL(new URLRequest(odnosniki[aktualny_obraz]), '_blank');
    }

    function wyswietlenie_zdjecia(e:Event):void {
            TweenLite.to(loading_mc, 0.5, {alpha:0});
            loading_mc.pole_loading_txt.text = "";
            szablon_mc.addChild(obrazLoader);
            if (obrazy[aktualny_obraz] == null ) {
                    obrazy.push(obrazLoader);
                    obrazLoader = new Loader();
            }
            rotator.start();
            aktualny_obraz++;
    }


    //KOD XML:

    <?xml version="1.0" encoding="utf-8"?>
    <obrazy>
    <banner adres="obrazki/banner_01.jpg" opis="Miasto uniwersyteckie w zachodniej Walii - Aberystwyth" odnosnik="http://Funkcje.net" />
    <banner adres="obrazki/banner_02.jpg" opis="Ogrody walijskie podczas lata" odnosnik="http://Funkcje.net" />
    <banner adres="obrazki/banner_03.jpg" opis="Widok jeziora podczas poranku" odnosnik="http://Funkcje.net" />
    <banner adres="obrazki/banner_04.jpg" opis="Jamnik o imieniu - Cookie ~ (ang. Ciasteczko)" odnosnik="http://Funkcje.net" />
    <banner adres="obrazki/banner_05.jpg" opis="Uchwycenie 'efektu' motyla na łodydze" odnosnik="http://Funkcje.net" />
    </obrazy>




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors