Loading:


Karuzela 3d w ActionScript 2.0 + XML - wersja zaawansowana

7. Posumowanie kodu

 

Cały kod, dla łatwości, został spisany w jednym miejscu.



Dalsza czê¶æ: 1 2 3 4 5 6 7
Napisz Artyku³

Listing


/////////////////////////////////////////////
//////////// KONTROLER SKRYPTU /////////////
///////////////////////////////////////////
//Określ dostęp do pliku XML /////////////
//////////////////////////////////////////
var sciezka_do_pliku_XML = "obrazki.xml";
///////////////////////////////////////////
//Określ parametry dla karuzeli ///////////
//////////////////////////////////////////
var szerokoscKaruzeli:Number = 230; //////
var wysokoscKaruzeli:Number = 55; ///////
var predkosc:Number = 0.05;  ////////////
var perspektywa:Number = 130; //////////
var przyspieszenie:Number = 1500; //////
//skrypt pobrany ze strony: http://Funkcje.net

//////////////NIE DO EDYCJI /////////////////
import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;

var iloscProduktow:Number;
var centrumX:Number = Stage.width / 2;
var centrumY:Number = Stage.height / 2;
var home:MovieClip = this;
var procent:Number;
var wew_procent:Number;
var i:Number = 0;
paragraf_txt._alpha = 0;

var opis_mc:MovieClip = this.attachMovie("opis", "opis", 10000);
opis_mc._alpha = 0;

var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function() {
        var produkty = this.firstChild.childNodes;
        iloscProduktow = produkty.length;
       
        for(var i=0; i<iloscProduktow; i++) {
                var produkt = home.attachMovie("ikona","ikona"+i,i+1);
                produkt.kat = i * ((Math.PI*2)/iloscProduktow); //kąt
                produkt.onEnterFrame = poruszanie;
                produkt.opisText = produkty[i].attributes.opis;
                produkt.ikona_mc.szablon_mc.loadMovie(produkty[i].attributes.adres);
                produkt.odbicie_mc.szablon_mc.loadMovie(produkty[i].attributes.adres);
               
                produkt.odnosnik = produkty[i].attributes.odnosnik;
               
                produkt.ikona_mc.onRollOver = najechanie;
                produkt.ikona_mc.onRollOut = zjechanie;
                produkt.ikona_mc.onRelease = klikniecie;
               
        }
}

function najechanie() {
        home.opis_mc.opis_txt.text = this._parent.opisText;
        home.opis_mc._x = this._parent._x;
        home.opis_mc._y = this._parent._y - this._parent._height/2;
        home.opis_mc.onEnterFrame = Delegate.create(this, loop);
        home.opis_mc._alpha = 100;
}

function zjechanie() {
        delete home.opis_mc.onEnterFrame;
        home.opis_mc._alpha = 0;
}

function klikniecie() {
        for (var i=0; i<iloscProduktow; i++) {
                var produkt:MovieClip = home["ikona"+i];
                produkt._xPozycja = produkt._x;
                produkt._yPozycja = produkt._y;
                produkt.skala = produkt._xscale;
               
                delete produkt.ikona_mc.onRollOver;
                delete produkt.ikona_mc.onRollOut;
                delete produkt.ikona_mc.onRelease;
                delete produkt.onEnterFrame;
                if(produkt != this._parent) {
                        var tw:Tween = new Tween(produkt, "_xscale", Strong.easeOut, produkt._xscale, 0, 1, true);
                        var tw2:Tween = new Tween(produkt, "_yscale", Strong.easeOut, produkt._yscale, 0, 1, true);
                        var tw3:Tween = new Tween(produkt, "_alpha", Strong.easeOut, 100, 0, 1, true);
                } else {
                        var tw:Tween = new Tween(produkt, "_xscale", Strong.easeOut, produkt._xscale, 100, 1, true);
                        var tw2:Tween = new Tween(produkt, "_yscale", Strong.easeOut, produkt._yscale, 100, 1, true);
                        var tw3:Tween = new Tween(produkt, "_x", Strong.easeOut, produkt._x, 100, 1, true);
                        var tw4:Tween = new Tween(produkt, "_y", Strong.easeOut, produkt._y, 220, 1, true);
                        var tw5:Tween = new Tween(paragraf_txt, "_alpha", Strong.easeOut, 0, 100, 1, true);
                        paragraf_txt.text = produkt.odnosnik;
                        var s:Object = this;
                        tw.onMotionStopped = function() {
                                s.onRelease = powrotDoKaruzeli;
                        }
                }
        }
}

function loop() {
        home.opis._x = this._parent._x;
        home.opis._y = this._parent._y - this._parent._height/2;
}

xml.load(sciezka_do_pliku_XML);

function poruszanie() {
       
        if (procent != 100) {
                procent = int(xml.getBytesLoaded() / xml.getBytesTotal() * 100);
        } else {
                loading_mc._visible = false;
        }
       
        this._x = Math.cos(this.kat) * szerokoscKaruzeli + centrumX;
        this._y = Math.sin(this.kat) * wysokoscKaruzeli + centrumY;
        var skala:Number = (this._y - perspektywa) / (centrumY + wysokoscKaruzeli - perspektywa);
        this._xscale = this._yscale = skala * 100;
        this.kat += this._parent.predkosc;
        this.swapDepths(Math.round(this._xscale) + 100);
}

function powrotDoKaruzeli() {
        delete this.onRelease;
        var tw:Tween = new Tween(paragraf_txt, "_alpha", Strong.easeOut, 100, 0, 0.5, true);
        for (var i=0; i<iloscProduktow; i++) {
                var produkt:MovieClip = home["ikona"+i];
                if(produkt != this._parent) {
                        var tw:Tween = new Tween(produkt, "_xscale", Strong.easeOut, 0, produkt.skala, 1, true);
                        var tw2:Tween = new Tween(produkt, "_yscale", Strong.easeOut, 0, produkt.skala, 1, true);
                        var tw3:Tween = new Tween(produkt, "_alpha", Strong.easeOut, 0, 100, 1, true);
                } else {
                        var tw:Tween = new Tween(produkt, "_xscale", Strong.easeOut, 100, produkt.skala, 1, true);
                        var tw2:Tween = new Tween(produkt, "_yscale", Strong.easeOut, 100, produkt.skala, 1, true);
                        var tw3:Tween = new Tween(produkt, "_x", Strong.easeOut, produkt._x, produkt._xPozycja, 1, true);
                        var tw4:Tween = new Tween(produkt, "_y", Strong.easeOut, produkt._y, produkt._yPozycja, 1, true);
                       
                        tw.onMotionStopped = function() {
                                for (var i=0; i<iloscProduktow; i++) {
                                        var produkt:MovieClip = home["ikona"+i];
                                        produkt.ikona_mc.onRollOver = Delegate.create(produkt.ikona_mc,najechanie);
                                        produkt.ikona_mc.onRollOut = Delegate.create(produkt.ikona_mc,zjechanie);
                                        produkt.ikona_mc.onRelease = Delegate.create(produkt.ikona_mc,klikniecie);
                                        produkt.onEnterFrame = poruszanie;
                                }
                        }
                }
        }
}

this.onMouseMove = function() {
        predkosc = (this._xmouse-centrumX)/przyspieszenie;
}




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