Статьи

Эксклюзивная халява: пользовательский слайдер AS3

Давно мы показали еще одну эксклюзивную халяву на Activetuts +, а? Ну вот замечательный маленький слайдер с питанием от AS3, совершенно бесплатный для использования в любом проекте, который вам нравится!


Вот сидер в простейшем виде:

И вот он в действии, изменяя contSL (контрастность) класса AdjustColor , обновляя растровое изображение при этом. Посмотрите мой предыдущий рассказ о классе ColorMatrixFilter, чтобы узнать больше о том, как это делается.


Этот слайдер включает в себя следующие параметры:

  • Пользовательский минимальный диапазон.
  • Пользовательский максимальный диапазон.
  • Чистая и красивая кожа.
  • Отображает текущее значение.

Перетащите исходный MovieClip и файл Main.as в папку вашего проекта и отредактируйте нужные параметры.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.geom.Rectangle;
     
    public final class Main extends Sprite
    {
        public final function Main():void
        {
            addListeners();
        }
         
        private final function addListeners():void
        {
            slider.head.addEventListener(MouseEvent.MOUSE_DOWN, initDrag);
            slider.addEventListener(MouseEvent.MOUSE_UP, terminateDrag);
            stage.addEventListener(MouseEvent.MOUSE_UP, terminateDrag);
        }
         
        private final function initDrag(e:MouseEvent):void
        {
            slider.head.startDrag(false, new Rectangle(0, 0, slider.width — slider.head.width, 0));
            slider.addEventListener(MouseEvent.MOUSE_MOVE, onSliderMove);
            stage.addEventListener(MouseEvent.MOUSE_MOVE, onSliderMove);
        }
         
        private final function onSliderMove(e:MouseEvent):void
        {
            slider.head.txtTF.text = slider.head.x;
            slider.head.txt2TF.text = slider.head.x;
             
            /* Live Action here: this action will be updated as soon as you move the slider */
        }
         
        private final function terminateDrag(e:MouseEvent):void
        {
            slider.head.stopDrag();
            slider.removeEventListener(MouseEvent.MOUSE_MOVE, onSliderMove);
            stage.removeEventListener(MouseEvent.MOUSE_MOVE, onSliderMove);
             
            /* Action here: this action will be updated when the mouse button is released */
        }
    }
}