Loading:


    Kołowy preloader w ActionScript 3.0

    Opis

     

    Skrypt tworzy kołowy preloader kręcący się wokół siebie. Preloader ma przezroczystość na końcu paska, który symuluje fading podczas obrotu.

     

    Dostępne parametry

     

    $thickness -  grubość paska

    $color - kolor paska

    $radius - wielkość koła

    $clockwise - kierunek kręcenia się

    $numCircles - ilość malych kółek z których jest zrobiony pasek

    $speed - prędkość poruszania się

     

    Przykład użycia


    var a = new CirclePreloader(4, 0x1A8AD5, 20, true, 60);
    a.x = 100;
    a.y = 100;
    addChild(a);



    Napisz Artyku³

    Listing

    package
    {
           
            import flash.display.Sprite;
            import flash.events.Event;

           
            /**
             * ...
             * @author
             */


            public class CirclePreloader extends Sprite
            {                              
                            private var container:Sprite
                            private var circles:Array;
                            private var speed:Number;
                   
                    public function CirclePreloader($thickness:uint=4,$color:uint=0xcccccc,$radius:uint=20,$clockwise:Boolean=true,$numCircles:uint=35,$speed:Number=0.05):void
                    {
                            speed = $speed;
                            var i:uint
                            var radians:Number = (360 / $numCircles) * Math.PI / 180;
                             
                            container = new Sprite()
                            addChild (container)
                            container.cacheAsBitmap=true
                            circles = new Array();
                            for (i = 0; i < $numCircles; i++)
                            {
                                    var circle=new Sprite()
                                    container.addChild(circle)
                                    circle.graphics.beginFill($color,1)
                                    circle.graphics.drawCircle(0,0,$thickness)
                                    circle.graphics.endFill()
                                    circles.push(circle)
                                    circle.x = Math.sin(radians * i) * $radius;
                                    circle.y =  Math.cos(radians * i) * $radius;
                                    circle.alpha = $clockwise?1 - i * (1 / $numCircles):i * (1 / $numCircles);
                                    addEventListener(Event.ENTER_FRAME,onEnter)
                           
                            }
                    }       
                    private function onEnter(e:Event):void {
                            for each(var item in circles)   
                            {
                                    if (item.alpha <= 0)
                                    {
                                            item.alpha = 1;
                                    }
                                    item.alpha -= speed;
                            }
                    }

                    public function destroy():void {
                            removeEventListener(Event.ENTER_FRAME, onEnter)
                            while(container.numChildren)container.removeChildAt(0)
                            removeChild(container)
                            container=null
                    }
            }
           
    }
     




    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