Loading:


Wygładzane animacje w akcji drag and drop - easing AS3

Skrypt tworzy efekt "joysticka", działający na kliknięcia oraz przeciągnięcia kursora myszki z ładnym wygładzeniem animacji.

 

Wersja On-line:

 



Napisz Artykuł

Listing

//KOD DLA PLIKU Wygladzenie.AS

package
{
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.MouseEvent;
       
        public class Wygladzenie extends Sprite
        {
                private var pilka:Pilka;
                private var wygladzenie:Number = 0.2;
                private var celX:Number = stage.stageWidth / 2;
                private var celY:Number = stage.stageHeight / 2;
               
                public function Wygladzenie()
                {
                        init();
                }
               
                private function init():void
                {
                        pilka = new Pilka();
                        addChild(pilka);
                        pilka.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
                }
               
                private function onMouseDown(event:MouseEvent):void
                {
                        pilka.startDrag();
                        removeEventListener(Event.ENTER_FRAME, onEnterFrame);
                        stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
                }
               
                private function onMouseUp(event:MouseEvent):void
                {
                        pilka.stopDrag();
                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
                        stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
                }
               
                private function onEnterFrame(event:Event):void
                {
                        var vx:Number = (celX - pilka.x) * wygladzenie;
                        var vy:Number = (celY - pilka.y) * wygladzenie;
                        pilka.x += vx;
                        pilka.y += vy;
                }
        }
}


//Kod dla pliku Pilka.as

package {
        import flash.display.Sprite;
       
        public class Pilka extends Sprite {
                private var promien:Number;
                private var kolor:uint;
               
                public function Pilka(promien:Number=40, kolor:uint=0xff0000) {
                        this.promien = promien;
                        this.kolor = kolor;
                        init();
                }
               
                public function init():void {
                        graphics.beginFill(kolor);
                        graphics.drawCircle(0,0, promien);
                        graphics.endFill();
                }
        }
}




Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38423
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-2020 v.1.5 | design: diviXdesign & rainbowcolors