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: 38523
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-2024 v.1.5 | design: diviXdesign & rainbowcolors