zagPravAS3
Класс RegPolzunok Скачать пакет классов classyComponent
Класс RegPolzunok один из двух пользовательских классов написанных для проекта "График" написанного на языке ActionScript3 для компонента Joomla 1.5 Grafik. В него импортируется класс GrafikDesign а объект класса GrafikDesign является аргументом функции-конструктора объекта класса RegPolzunok. Класс RegPolzunok выводит в нижней части графика механизм задания диапазона выборки отрисованного графика.
Посмотреть работу графика можно здесь: смотреть.
Отрисовка верхней части графика, результат работы другого класса GrafikDesign - смотреть.

    package classyComponent{

    import flash.display.*;
    import flash.text.*;
    import flash.events.*;
    import flash.utils.Timer;
    import classyComponent.GrafikDesign;
    
    public class RegPolzunok extends MovieClip{
        
        /* --- СВОЙСТВА КЛАССА --- */
        /* --- Массивы и объекты --- */
        public var osnP:MovieClip;   /* Мувиклип-основа ползунка, задает местополож. и разм.*/
        public var objPlz:Array;     /* Объекты составляющие ползунок --- */
    /* ------------------------------------------------------------------------------------- */
        private var nstr:Array;      /* Двумерный массив параметров отображения ползунка --- */
        private var znG:Array;       /* Массив значений откладываемых по горизонтальной оси */
        private var znV:Array;       /* Массив значений откладываемых по вертикальной оси */
        /* --- Спрайты --- */
        private var knNaz1L:Sprite;  /* Левая кнопка "1 шаг влево" --- */
        private var knVpr1L:Sprite;  /* Левая кнопка "1 шаг вправо" --- */
        private var knL:Sprite;      /* Левая кнопка "влево до упора" --- */
        private var knNaz1P:Sprite;  /* Правая кнопка "1 шаг влево" --- */
        private var knVpr1P:Sprite;  /* Правая кнопка "1 шаг вправо" --- */
        private var knP:Sprite;      /* Правая кнопка "вправо до упора" --- */
        private var knRzN:Sprite;    /* Кнопка-подложка вывода результата --- */
        private var knRez:Sprite;    /* Кнопка вывода результата --- */
        private var naprP:Sprite;    /* Направляющая ползунков --- */
        private var polzL:Sprite;    /* Ползунок левый --- */
        private var polzP:Sprite;    /* Ползунок правый --- */
        /* --- Строковые --- */
        /* --- Численные --- */
        /* ------ габариты элементов ползунка ------ */
        private var zazW:Number = 2; /* Зазор между элементами ползунка по горизонтали --- */ 
        private var zazH:Number = 2; /* Зазор между элем.полз. и краем основы полз.по вертикали*/
        private var wdTP:Number;     /* Ширина отводимая на текстовые поля вывода диапазона --- */
        private var rabN:Number;     /* Рабочий отрезок направляющей --- */
        private var shag:Number;     /* Удельный отрезок(на одно значение по горизонтали) --- */
        private var hodL:uint;       /* Значение присваиваемое левым ползунком --- */
        private var hodP:uint;       /* Значение присваиваемое правым ползунком --- */
        private var prLx:Number;     /* Предельная левая координата X левого ползунка --- */
        private var prPx:Number;     /* Предельная правая координата X правого ползунка --- */
        /* --- Прочие --- */
        private var txLv:TextField;  /* Левое текстовое поле указатель диапазона --- */
        private var txPr:TextField;  /* Правое текстовое поле указатель диапазона --- */
        private var objG:GrafikDesign;
        /* ФУНКЦИЯ-КОНСТРУКТОР. Аргументы: 1.MovieClip-основа ползунка, 2.Массив настроек. */
        public function RegPolzunok(arg1:MovieClip, arg2:Array){
            osnP = arg1;
            nstr = arg2;
        }
        /* ----------------------------------------------------------------------------------------
                            МЕТОДЫ ВЫСТРАИВАНИЯ ПОЛЗУНКОВ (public function)
        ---------------------------------------------------------------------------------------- */
        /* ПОЛЗУНКИ-РЕГУЛЯТОРЫ ДЛЯ ОДНОЛИНЕЙНОГО ГРАФИКА СОЗДАННОГО МЕТОДОМ grafikLine1() КЛАССА 
           GrafikDesign. Аргументы: 1.Объект, отрисованный график, 2,3.Массивы, значения откладыв.
           по горизонтали и вертикали.                                                           */
        public function uprGrafikLine1(arg1:GrafikDesign, arg2:Array, arg3:Array):Array{
            var rezult:Array = new Array();
            objG = arg1;
            znG = arg2;
            znV = arg3;
            var arrVr1:Array = new Array();
            arrVr1 = [osnP.x, osnP.y, osnP.width, osnP.height];
            rezult[0] = this.risPriamougolnik(nstr[0], arrVr1); // Отрисовка осн.фона регулятора;
            arrVr1 = textPolPolz();                      // Текст.поля указатели диап.выборки;
            rezult = rezult.concat(arrVr1);
            arrVr1 = knopkiPolzun();                     // Отрисовка блока ползунков;
            rezult = rezult.concat(arrVr1);
            dragLevPolzunok();                           // Перемещение левого ползунка мышью;
            dragPravPolzunok();                          // Перемещение правого ползунка мышью;
            polojeniePolzunkov();                        // Регулир.положения ползунков кнопками;
            vyvodRezDiap();                              // Вывод диапазона полученных значений;
            for(var i:uint=0; i<rezult.length; i++){
                addChild(rezult[i]);
            }
            objPlz = rezult.slice(0);
            return rezult;
        }
        /* УДАЛЕНИЕ ВИДИМОСТИ ОБЪЕКТОВ ПОЛЗУНКА */
        public function visiblNotPolzunok():void{
            for(var i:uint=0; i<objPlz.length; i++){
                objPlz[i].visible = false;
            }
        }
        /* ---------------------------------------------------------------------------------------
                            ВСПОМОГАТЕЛЬНЫЕ МЕТОДЫ (private function)
        --------------------------------------------------------------------------------------- */
        /* ---------------- ФУНКЦИИ ПОЛЗУНКОВ ------------------------------------------------- */
        /* --- ФУНКЦИИ ЛЕВОГО ПОЛЗУНКА -------------------------------------------------------- */
        private function dragLevPolzunok():void{
            var logVr1:Boolean = true;
            var timPolzl:Timer = new Timer(10, 0);
            timPolzl.addEventListener(TimerEvent.TIMER, otrabTimerL);
            function otrabTimerL(e:TimerEvent):void{
                if(polzL.y !== (osnP.y+zazH)){
                    polzL.y = osnP.y+zazH;
                }
                granLevPolzunok();
            }
            polzL.addEventListener(MouseEvent.MOUSE_DOWN, polzLDW);
            polzL.addEventListener(MouseEvent.MOUSE_UP, polzLUP);
            polzL.addEventListener(MouseEvent.MOUSE_OUT, polzLUP);
            function polzLDW(sob:MouseEvent):void{
                polzL.startDrag();
                timPolzl.start();
                logVr1 = true;
            }
            function polzLUP(sob:MouseEvent):void{
                polzL.stopDrag();
                polzL.y = osnP.y+zazH;
                if(logVr1 == true){
                    hodL = Math.round((polzL.x-prLx)/shag);
                    polzL.x = prLx+(hodL*shag);
                    logVr1 = false;
                    txLv.text = "" + znG[hodL];
                    textFormatDiapazon(txLv);  // --- Форматирование текста --- ;
                }
                timPolzl.stop();
            }
        }
        /* Границы действия левого ползунка. */
        private function granLevPolzunok():void{
            if(polzL.x < prLx){
                polzL.x = prLx;
            }
            if((polzL.x+polzL.width) > polzP.x){
                polzL.x = polzP.x - polzL.width;
            }
        }
        /* --- ФУНКЦИИ ПРАВОГО ПОЛЗУНКА ------------------------------------------------------- */
        private function dragPravPolzunok():void{
            var logVr2:Boolean = true;
            var timPolzp:Timer = new Timer(10, 0);
            timPolzp.addEventListener(TimerEvent.TIMER, otrabTimerP);
            function otrabTimerP(e:TimerEvent):void{
                if(polzP.y !== (osnP.y+zazH)){
                    polzP.y = osnP.y+zazH;
                }
                granPravPolzunok();
            }
            polzP.addEventListener(MouseEvent.MOUSE_DOWN, polzPDW);
            polzP.addEventListener(MouseEvent.MOUSE_UP, polzPUP);
            polzP.addEventListener(MouseEvent.MOUSE_OUT, polzPUP);
            function polzPDW(sob:MouseEvent):void{
                polzP.startDrag();
                timPolzp.start();
                logVr2 = true;
            }
            function polzPUP(sob:MouseEvent):void{
                polzP.stopDrag();
                polzP.y = osnP.y+zazH;
                if(logVr2 == true){
                    hodP = Math.round((prPx-polzP.x)/shag);
                    polzP.x = prPx-(hodP*shag);
                    logVr2 = false;
                    txPr.text = "" + znG[(znG.length-1)-hodP];
                    textFormatDiapazon(txPr);  // --- Форматирование текста --- ;
                }
                timPolzp.stop();
            }
        }
        /* Границы действия правого ползунка. */
        private function granPravPolzunok():void{
            if(polzP.x > prPx){
                polzP.x = prPx;
            }
            if(polzP.x < polzL.x+polzL.width){
                polzP.x = polzL.x + polzL.width;
            }
        }
        /* --- ФУНКЦИИ КНОПОК ПОЛОЖЕНИЯ ПОЛЗУНКОВ ---------------------------------------------- */
        private function polojeniePolzunkov():void{
            knL.addEventListener(MouseEvent.MOUSE_UP, sdvigLevo);
            function sdvigLevo(sob:Event):void{ // Сдвиг в крайнее лев.полож.левого ползунка. --- ;
                hodL = 0;
                polzL.x = prLx;
                txLv.text = "" + znG[hodL];
                textFormatDiapazon(txLv);
            }
            knP.addEventListener(MouseEvent.MOUSE_UP, sdvigPravo);
            function sdvigPravo(sob:Event):void{ // Сдвиг в крайнее прав.полож.правого ползунка.;
                hodP = 0;
                polzP.x = prPx
                txPr.text = "" + znG[(znG.length-1)];
                textFormatDiapazon(txPr);
            }
            knNaz1L.addEventListener(MouseEvent.MOUSE_UP, sdvigLevLevo1);
            function sdvigLevLevo1(sob:Event):void{// Сдвиг на 1 шаг влево левого ползунка. ;
                if(hodL > 0){
                    hodL--;
                }
                polzL.x = prLx+(hodL*shag);
                txLv.text = "" + znG[hodL];
                textFormatDiapazon(txLv);
            }
            knVpr1L.addEventListener(MouseEvent.MOUSE_UP, sdvigLevPravo1);
            function sdvigLevPravo1(sob:Event):void{// Сдвиг на 1 шаг вправо левого ползунка. ;
                if(polzL.x+polzL.width < polzP.x){
                    hodL++;
                }
                polzL.x = prLx+(hodL*shag);
                txLv.text = "" + znG[hodL];
                textFormatDiapazon(txLv);
            }
            knNaz1P.addEventListener(MouseEvent.MOUSE_UP, sdvigPravLevo1);
            function sdvigPravLevo1(sob:Event):void{// Сдвиг на 1 шаг влево правого ползунка. ;
                if(polzP.x > polzL.x+polzL.width){
                    hodP++;
                }
                polzP.x = prPx-(hodP*shag);
                txPr.text = "" + znG[(znG.length-1)-hodP];
                textFormatDiapazon(txPr);
            }
            knVpr1P.addEventListener(MouseEvent.MOUSE_UP, sdvigPravPravo1);
            function sdvigPravPravo1(sob:Event):void{// Сдвиг на 1 шаг вправо правого ползунка. ;
                if(hodP > 0){
                    hodP--;
                }
                polzP.x = prPx-(hodP*shag);
                txPr.text = "" + znG[(znG.length-1)-hodP];
                textFormatDiapazon(txPr);
            }
        }
        /* ФУНКЦИЯ ВЫВОДА ДИПАЗОНА ЗНАЧЕНИЙ ГРАФИКА -------------------------------------------- */
        private function vyvodRezDiap():void{
            knRez.addEventListener(MouseEvent.MOUSE_UP, knRezUP)
            function knRezUP(sob:Event):void{
                var arrVr1:Array = new Array();
                var arrVr2:Array = new Array();
                var arrVr3:Array = new Array();
                if(hodP > 0){
                    arrVr1 = znV.slice(hodL, znV.length-hodP);
                    arrVr2 = znG.slice(hodL, znG.length-hodP);
                }else{
                    if(hodP == 0){
                        arrVr1 = znV.slice(hodL);
                        arrVr2 = znG.slice(hodL);   
                    }
                }
                // --- Удаление видимости существующих объектов графика ---- ; 
                objG.visiblNotGrafik();
                // --- Вывод нового диапазона значений --------------------- ;
                objG.grafikLine1(arrVr2, arrVr1);
                addChild(objG);
            }
        }/* ------------------------------------------------------------------------------------- */
        
        /* ФОРМАТИРОВАНИЕ ТЕКСТА В ПОЛЯХ ВЫВОДА ДИАПАЗОНА. Аргумент: текст.поле вывода диапазона.*/
        private function textFormatDiapazon(arg1:TextField):void{
            var txfVr2:TextFormat = new TextFormat();
            txfVr2.font = "_sans";
            txfVr2.bold = true;
            txfVr2.size = nstr[5][0];
            txfVr2.color = nstr[5][1];
            arg1.setTextFormat(txfVr2);
            if(txLv.text == txPr.text){
                knRez.visible = false;
            }else{
                if(txLv.text !== txPr.text){
                    knRez.visible = true;
                }
            }
        }
        
        /* ---------------- КОНСТРУКТИВНЫЕ РАЗМЕРЫ ---------------------------------------------- */
        /* ТЕКСТОВЫЕ ПОЛЯ ПО КРАЯМ ПОЛЗУНКА. */
        private function textPolPolz():Array{
            var rezult:Array = new Array();
            var txfVr1:TextField = new TextField();
            txfVr1 = this.textPoleKyr(nstr[5], znG[0]);
            wdTP = txfVr1.width;
            for(var i:uint=0; i<znG.length; i++){
                txfVr1.text = znG[i];
                if(wdTP < txfVr1.width){
                    wdTP = txfVr1.width;
                }
            }
            txLv = this.textPoleKyr(nstr[5], znG[0]);
            txLv.x = osnP.x + 2*zazW;
            txLv.y = osnP.y + (osnP.height - txLv.height)/2;
            txPr = this.textPoleKyr(nstr[5], znG[znG.length-1]);
            txPr.x = osnP.x + osnP.width -(txPr.width + zazW);
            txPr.y = txLv.y;
            rezult[0] = txLv;
            rezult[1] = txPr;
            return rezult;
        }
        /* ОТРИСОВКА КНОПОК-СПРАЙТОВ НА ПОДЛОЖКЕ ПОЛЗУНКА.*/
        private function knopkiPolzun():Array{
            var rezult:Array = new Array();
            var arrVr1:Array = new Array();
            var numVr1:Number = nstr[6][0];             // Ширина кнопки-стрелки --- ;
            var numVr2:Number = osnP.height - 2*zazH;   // Высота кнопок --- ;
            var numVr3:Number = nstr[6][0]*1.2;         // Ширина кнопки-стрелки двойной --- ;
            var numVr4:Number = osnP.y+zazH;            // Координата Y кнопок --- ;
            var numVr5:Number;
            arrVr1 = [osnP.x+3*zazW+wdTP, numVr4, numVr3, numVr2];
            knL = this.risPriamougolnikStrLevo2(nstr[4], arrVr1);         // --- Кнопка knL --- ;
            arrVr1 = [osnP.x+wdTP+4*zazW+numVr3, numVr4, numVr1, numVr2];
            knNaz1L = this.risPriamougolnikStrLevo(nstr[4], arrVr1);      // --- Кнопка knNaz1L ;
            arrVr1 = [0, 0, numVr1, numVr2];
            knVpr1L = this.risPriamougolnikStrLevo(nstr[4], arrVr1);      // --- Кнопка knVpr1L ;
            knVpr1L.rotation = 180;
            knVpr1L.x = osnP.x+wdTP+5*zazW+2*numVr1+numVr3;
            knVpr1L.y = numVr4+numVr2;
            knNaz1P = this.risPriamougolnikStrLevo(nstr[4], arrVr1);      // --- Кнопка knNaz1P ;
            knNaz1P.x = (osnP.x+osnP.width) - (5*zazW+wdTP+numVr1*2+numVr3);
            knNaz1P.y = numVr4;
            knVpr1P = this.risPriamougolnikStrLevo(nstr[4], arrVr1);      // --- Кнопка knVpr1P ;
            knVpr1P.rotation = 180;
            knVpr1P.x = (osnP.x+osnP.width) - (4*zazW+wdTP+numVr3);
            knVpr1P.y = numVr4+numVr2;
            arrVr1 = [0, 0, numVr3, numVr2];
            knP = this.risPriamougolnikStrLevo2(nstr[4], arrVr1);         // --- Кнопка knP --- ;
            knP.rotation = 180;
            knP.x = (osnP.x+osnP.width) - (3*zazW+wdTP);
            knP.y = numVr4+numVr2;
            arrVr1 = [0, 0, nstr[6][2], numVr2];
            knRzN = this.risPriamougolnik(nstr[0], arrVr1); // Кнопка-подложка вывода результата ;
            knRzN.x = (osnP.x+osnP.width) - (6*zazW+wdTP+3.2*numVr1+nstr[6][2]);
            knRzN.y = numVr4;
            knRez = this.risPriamougolnik(nstr[3], arrVr1);          // Кнопка вывода результата ;
            knRez.x = (osnP.x+osnP.width) - (6*zazW+wdTP+3.2*numVr1+nstr[6][2]);
            knRez.y = numVr4;
            numVr5 = osnP.width - (15*zazW+2*wdTP+6.4*numVr1+knRez.width);
            arrVr1 = [0, 0, numVr5, nstr[6][3]];
            naprP = this.risPriamougolnik(nstr[2], arrVr1);          // Направляющая ползунка ;
            naprP.x = osnP.x+7*zazW+wdTP+3.2*numVr1;
            naprP.y = (osnP.y+osnP.height/2)-nstr[6][3]/2;
            arrVr1 = [0, 0, nstr[6][1], numVr2];
            polzL = this.risPriamougolnik(nstr[1], arrVr1);          // Ползунок левый ;
            polzL.x = osnP.x+7*zazW+wdTP+3.2*numVr1;
            prLx = polzL.x;
            polzL.y = numVr4;
            polzP = this.risPriamougolnik(nstr[1], arrVr1);          // Ползунок правый ;
            polzP.x = (osnP.x+osnP.width)-(8*zazW+wdTP+3.2*numVr1+knRez.width+nstr[6][1]);
            prPx = polzP.x;
            polzP.y = numVr4;
            shag = (polzP.x-(polzL.x+polzL.width))/(znG.length-1); // Кол.пикселей на 1 деление ;
            rezult = [knL, knNaz1L, knVpr1L, knNaz1P, knVpr1P, knP, knRzN, 
                      knRez, naprP, polzL, polzP];
            return rezult;
        }
        /* ---------------- РИСОВАНИЕ ФИГУР --------------------------------------------------- */
        /* ОТРИСОВКА ПРЯМОУГОЛЬНИКА. Аргументы: 1.Массив, стиль рисования фигуры*, 2.Массив где 
           [0][1] - Координаты X,Y, [2][3]- Шир.и выс.прямоугольника. Метод возвр.объект Sprite */
        private function risPriamougolnik(arg1:Array, arg2:Array):Sprite {
            var sprVr1:Sprite = new Sprite();
            sprVr1.graphics.lineStyle(arg1[3], arg1[2], arg1[4]);
            sprVr1.graphics.beginFill(arg1[0], arg1[1]);
            sprVr1.graphics.drawRect(arg2[0], arg2[1], arg2[2], arg2[3]);
            return sprVr1;
        }
        /* ОТРИСОВКА ПРЯМОУГОЛЬНИКА С ТРЕУГОЛЬНИКОМ ВЛЕВО. Аргументы: 1.Массив, стиль рисования 
           кнопки со стрелкой*, 2.Массив где:[0][1]- Координаты X,Y, [2][3]- Шир.и выс.прямоуг., 
           Метод возвращает объект Sprite                                                     */
        private function risPriamougolnikStrLevo(arg1:Array, arg2:Array):Sprite{
            var sprVr1:Sprite = new Sprite();
            sprVr1.graphics.lineStyle(arg1[3], arg1[2], arg1[4]);
            sprVr1.graphics.beginFill(arg1[0], arg1[1]);
            sprVr1.graphics.drawRect(arg2[0], arg2[1], arg2[2], arg2[3]);
            sprVr1.graphics.lineStyle(0, 0XFFFFFF, 0);
            sprVr1.graphics.beginFill(arg1[5], 1);
            sprVr1.graphics.moveTo(arg2[0]+arg2[2]*0.2, arg2[1]+arg2[3]*0.5);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.7, arg2[1]+arg2[3]*0.15);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.7, arg2[1]+arg2[3]*0.85);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.2, arg2[1]+arg2[3]*0.5);
            return sprVr1;
        }
        /* ОТРИСОВКА ПРЯМОУГОЛЬНИКА С ДВУМЯ ТРЕУГОЛЬНИКАМИ ВЛЕВО. Аргументы: 1.Массив, стиль рисов.
           кнопки со стрелкой*,  2.Массив где:[0][1]- Координаты X,Y, [2][3]- Ширина и высота 
           прямоугольника, Метод возвращает объект Sprite.                                       */
        private function risPriamougolnikStrLevo2(arg1:Array, arg2:Array):Sprite{
            var sprVr1:Sprite = new Sprite();
            sprVr1.graphics.lineStyle(arg1[3], arg1[2], arg1[4]);
            sprVr1.graphics.beginFill(arg1[0], arg1[1]);
            sprVr1.graphics.drawRect(arg2[0], arg2[1], arg2[2], arg2[3]);
            sprVr1.graphics.endFill();
            sprVr1.graphics.lineStyle(0, 0XFFFFFF, 0);
            sprVr1.graphics.beginFill(arg1[5], 1);
            sprVr1.graphics.moveTo(arg2[0]+arg2[2]*0.1, arg2[1]+arg2[3]*0.5);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.4, arg2[1]+arg2[3]*0.15);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.4, arg2[1]+arg2[3]*0.85);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.1, arg2[1]+arg2[3]*0.5);
            sprVr1.graphics.endFill();
            sprVr1.graphics.lineStyle(0, 0XFFFFFF, 0);
            sprVr1.graphics.beginFill(arg1[5], 1);
            sprVr1.graphics.moveTo(arg2[0]+arg2[2]*0.50, arg2[1]+arg2[3]*0.5);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.80, arg2[1]+arg2[3]*0.15);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.80, arg2[1]+arg2[3]*0.85);
            sprVr1.graphics.lineTo(arg2[0]+arg2[2]*0.50, arg2[1]+arg2[3]*0.5);
            sprVr1.graphics.endFill();
            return sprVr1;
        }
        
        
        /* ---------------- ТЕКСТОВЫЕ ПОЛЯ ----------------------------------------------------- */
        /* ОДНОСТРОЧНОЕ ТЕКСТОВОЕ ПОЛЕ НЕ ОТОБРАЖАЮЩЕЕ КИРИЛЛИЦУ - достоинством является возможн.
           поворота и отображение встроенного шрифта. АРГУМЕНТЫ: 1.Стиль текстового поля*, 2.Строк.
           знач.присваиваемое текстовому полю, 3.Угол поворота поля. Данный метод не присваивает 
           координаты текстовому полю. Метод возвращает объект TextField.                        */
         private function textPoleLat(arg1:Array, arg2:String, arg3:Number):TextField{
            var txfVr1:TextField = new TextField();
            var txfVr2:TextFormat = new TextFormat();
            txfVr1.type = TextFieldType.DYNAMIC;
            txfVr1.autoSize = TextFieldAutoSize.LEFT;
            txfVr1.embedFonts = true;
            txfVr1.selectable = false;
            txfVr1.multiline = false;
            txfVr1.text = arg2;
            txfVr1.width = txfVr1.textWidth;
            txfVr1.height = txfVr1.textHeight;
            txfVr1.alpha = arg1[2];
            txfVr2.font = arg1[3];
            txfVr2.bold = true;
            txfVr2.size = arg1[0];
            txfVr2.color = arg1[1];
            txfVr1.setTextFormat(txfVr2);
            txfVr1.rotation = arg3;
            return txfVr1;
         }
         /* ОДНОСТРОЧНОЕ ТЕКСТОВОЕ ПОЛЕ ОТОБРАЖАЮЩЕЕ КИРИЛЛИЦУ, НЕ ИСПОЛЬЗУЮЩЕЕ ВСТРОЕННЫЕ ШРИФТЫ. 
            АРГУМЕНТЫ: 1.Стиль текстового поля*, 2.Строковое знач.присваиваемое текстовому полю. 
            Данный метод не присваивает координаты текстовому полю. Метод возвр.объект TextField.*/
         private function textPoleKyr(arg1:Array, arg2:String):TextField{
            var txfVr1:TextField = new TextField();
            var txfVr2:TextFormat = new TextFormat();
            txfVr1.type = TextFieldType.DYNAMIC;
            txfVr1.autoSize = TextFieldAutoSize.LEFT;
            txfVr1.embedFonts = false;
            txfVr1.selectable = false;
            txfVr1.multiline = false;
            txfVr1.text = arg2;
            txfVr1.width = txfVr1.textWidth;
            txfVr1.height = txfVr1.textHeight;
            txfVr1.alpha = arg1[2];
            txfVr2.font = "_sans";
            txfVr2.bold = true;
            txfVr2.size = arg1[0];
            txfVr2.color = arg1[1];
            txfVr1.setTextFormat(txfVr2);
            return txfVr1;
         }
        /* ПРИСВОЕНИЕ НЕ-ВИДИМОСТИ ВСЕМ ЭЛЕМЕНТАМ ОДНОМЕРНОГО МАССИВА. Аргумент:массив объектов. */ 
        public function visNotArray1(arg1:Array):Array{
            var rezult:Array = new Array();
            rezult = arg1;
            for(var i:uint=0; i<arg1.length; i++){
                arg1[i].visible = false;
            }
            return rezult;
        }
    }
}
/*   ПОЯСНЕНИЯ:
     а.Цвет: 16-тиричное число,
     б.Плотность: значение от 0 до 1,
     в.Толшина: указывается в пикселях,
     г.Координаты: указываются в пикселях,
     д.Размер шрифта: указывается в пикселях.
   1.СТИЛЬ РИСОВАНИЯ ФИГУРЫ - массив, где: 
       [0]- Цвет заливки фигуры --- ;
       [1]- Плотность заливки фигуры --- ;
       [2]- Цвет обводки фигуры --- ;
       [3]- Толщина обводки фигуры --- ;
       [4]- Плотность линии обводки фигуры --- ;
   2.СТИЛЬ ТЕКСТОВОГО ПОЛЯ - массив, где:
       [0]- Размер текста --- ;
       [1]- Цвет текста --- ;
       [2]- Плотность текста --- ;
   3.СТИЛЬ РИСОВАНИЯ ЛИНИИ - массив, где:
       [0]- Цвет линий --- ;
       [1]- Толщина линий --- ;
       [2]- Плотность линий --- ;
   4.СТИЛЬ КНОПКИ СО СТРЕЛКОЙ - массив, где:
       [0]- Цвет заливки основного фона --- ;
       [1]- Плотность заливки основного фона --- ;
       [2]- Цвет обводки --- ;
       [3]- Толщина обводки --- ;
       [4]- Плотность обводки --- ;
       [5]- Цвет заливки треугольников-указателей --- ;
*/