Loading:


Przeciągany suwak, wersja prototype - Scroll Bar [ AS3 ]

2. Robienie porządku w kodzie

 

Wytnijmy cały kod z warstwy Actions, stwórzmy nowy plik w katalogu: net->funkcje->ui o nazwie ScrollBar.as oraz wklejmy kod podany poniżej.



Dalsza czê¶æ: 1 2 3 4 5 6

Napisz Artyku³

Listing


package net.funkcje.ui
{
        import flash.display.*;
        import flash.events.*;
       
        public class ScrollBar extends MovieClip {
               
                private var roznicaY:Number;
                private  var minY:Number;
                private var maxY:Number;
               
                public function ScrollBar():void {
                        minY = 0;
                        maxY = trasa_mc.height - suwak_mc.height;
                        suwak_mc.addEventListener(MouseEvent.MOUSE_DOWN, nacisniety_suwak);
                        stage.addEventListener(MouseEvent.MOUSE_UP, zwolnienie_suwaka);
                }
               
                private function nacisniety_suwak(e:MouseEvent):void {
                        stage.addEventListener(MouseEvent.MOUSE_MOVE, poruszanie_suwaka);
                        roznicaY = mouseY - suwak_mc.y;
                }
               
                private function zwolnienie_suwaka(e:MouseEvent):void {
                        stage.removeEventListener(MouseEvent.MOUSE_MOVE, poruszanie_suwaka);
                }
               
                private function poruszanie_suwaka(e:MouseEvent):void {
                        //tworzenie granic
                        suwak_mc.y = mouseY - roznicaY;
                        if (suwak_mc.y <= minY)
                                suwak_mc.y = minY;
                       
                        if (suwak_mc.y >= maxY)
                                suwak_mc.y = maxY;
                        //pozycja procentowa suwaka
                        var pozycja:Number = suwak_mc.y / maxY;
                       
                        //wysyłanie zdarzenia dla innych plików
                        dispatchEvent(new ScrollBarEvent(pozycja));
                       
                        //pod uwagę margines górny
                        e.updateAfterEvent();
                }
        }
}





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