Loading:

Zaplanuj Przeprowadzke - Ściągnij Darmową Aplikację na Androida

Menu

Aby to menu działało należy dodać 2 równe prostokąty najlepiej o różnych kolorach lecz pasujących do siebie stwórz owe na scenie następnie je usuń tylko tak żeby zostały w bibliotece kliknij na pierwsze i daj linkage, zaznacz "Export to ActionScript" i pierwszy nazwij "menu"(będzie to główny prostokąt który będzie widoczny bez żadnego kliknięcia, powinien na nim się znajdować napis np "wybierz poziom") a drugi "menuitem"(będzie to reszta która będzie się wysuwała, bez napisów).



Napisz Artykuł

Listing

//importy
import mx.transitions.Tween;
import mx.transitions.easing.*;
//menu
attachMovie("menu", "menu", 10000);
menu._x = 270;
menu._y = 30;
//meniuitem
attachMovie("menuitem", "menuitem", 500);
menuitem._x = 270;
menuitem._y = 30;
//tablice do menu, ustaw własne opcje
var menuArray:Array = new Array("Opcja1", "Opcja2", "Opcja3", "Opcja4");
var levelArray:Array = new Array(1000, 800, 500, 200);
// kliknięcie menu
var stan:Boolean = false;
menu.onRelease = function() {
        if (stan == false) {
                expandMenu();
                stan = true;
        } else {
                colapseMenu();
                stan = false;
        }
};
// rozwin menu
var tf:TextFormat = new TextFormat();
tf.color = 0xffffff;
tf.size = 16;
tf.font = "Verdana";
tf.align = center;
var selLvl:String;
function expandMenu() {
        for (var i:Number = 0; i<menuArray.length; i++) {
                var kopia:String = "menuitem"+i;
                var pozY:Number = 2+menu._y+menu._height+(menu._height+2)*i;
                menuitem.duplicateMovieClip(kopia, i);
                _root[kopia].poziom = levelArray[i];
                _root[kopia]._x = menuitem._x;
                _root[kopia]._y = pozY;
                // animacja pól tekstowych
                var pole:String = "pole"+i;
                _root.createTextField(pole, i+2000, menu._x-25, pozY-12, 151, 33);
                _root[pole].autoSize = true;
                _root[pole].text = menuArray[i];
                _root[pole].setTextFormat(tf);
                _root[pole].selectable = false;
                new Tween(_root[pole], "_y", Strong.easeIn, menu._y, pozY-12, 1, true);
                //--------
                new Tween(_root[kopia], "_y", Strong.easeIn, menu._y, pozY, 1, true);
                //release, rollOver, RollOut
                _root[kopia].onRollOver = function() {
                        //animacja alphy
                        //this._alpha = 10
                        new Tween(this, "_alpha", Strong.easeIn, 100, 20, .4, true);
                };
                _root[kopia].onRollOut = function() {
                        new Tween(this, "_alpha", Strong.easeOut, 20, 100, .4, true);
                };
                _root[kopia].onRelease = function() {
                        //wartość levela
                        selLvl = this.poziom;
                        colapseMenu();
                        stan = false;
                };
        }
}
//zwin menu
function colapseMenu() {
        for (var i:Number = 0; i<menuArray.length; i++) {
                var kopia:String = "menuitem"+i;
                var pozY:Number = _root[kopia]._y;
                //menuitem.duplicateMovieClip(kopia,i)
                // animacja pól tekstowych przy znikaniu
                var pole:String = "pole"+i;
                _root.createTextField(pole, i+2000, menu._x-25, pozY-12, 1, 1);
                _root[pole].autoSize = true;
                _root[pole].text = menuArray[i];
                _root[pole].setTextFormat(tf);
                _root[pole].selectable = false;
                new Tween(_root[pole], "_y", Strong.easeOut, pozY, menu._y, 1, true);
                //--------
                _root[kopia]._x = menu._x;
                _root[kopia]._y = menu._y;
                new Tween(_root[kopia], "_y", Strong.easeOut, pozY, menu._y, 1, true);
        }
}


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=12&t=5663

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: letki Ranga: Poziom 3 Punktów: 50
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-17 v.1.5 | design: diviXdesign & rainbowcolors