zagPravAS3
ГРАФИК Пользовательские классы    Пример работы   Скачать весь проект

Для содержимого этой страницы требуется более новая версия Adobe Flash Player.

Получить проигрыватель Adobe Flash Player

     Однажды во время работы в одной из московских фирм, я получил помимо текущих заданий (в основном это была работа с рекламными swf-баннерами), задание на более долгий период и предполагалось что я буду выполнять её в промежутках между основной работой. В задании было указано что необходимо ниписать флешку которая внедрялась в html-страницу и при загрузке странички в браузер в этой самой флешке программно отрисовывалось изображение графика, данные для которого получались бы из загруженного в эту флешку XML-документа. Тогда я писал на ActionScript 2 и на данную разработку у меня ушло около месяца. Сейчас кажется что это довольно большой срок, но я ведь говорил что это была работа "в промежутках" и к тому же это была работа где попутно предстояло изучить много нового материала.
     Затем примерно через год уже в "домашних условиях" и на другой версии языка я решил вновь реализовать этот проект, придав ему несколько новых возможностей.  Я решил что напишу файл проекта который не только загружает XML-документ и выстраивает собственно график но и даёт возможность детального просмотра отдельных участков, задавая диапазон просмотра непосредственно пользователем загрузившим этот файл в окно браузера т.к. график может выводить очень большой объём данных. Для этого планировалось в нижней части графика вывести механизм задания диапазона выборки данных и нового отбражения их на графике, причём без перезагрузки html-страницы.
     Далее было решено что изначально будет создан Fla-файл на котором "вручную" будут созданы два "мувика", один из которых будет основой создаваемого графика, а другой основой для механизма выбора диапазона детальной выборки данных. Для каждого из этих "мувиков" (от MovieClip) планировалось написать по классу на языке ActionScript 3, причём только два класса, без использования иерархической структуры классов, т.е. "вбить" в каждый класс всё что необходимо в плане кода и не заморачиваться потом. Забегая вперёд скажу, что после того как проект был написан я упрятал эти два класса в директорию хранения и потом примерно год не касался их. По прошествии года - достал и не вникая в частности быстро разобрался что и как. Для тех кто хочет прямо сейчас посмотреть что это за классы, плиз: класс GrafikDesign - отрисовывает сам график, класс RegPolzunok - отрисовывает мехинизм выборки.
     И так продолжим. Два класса отрисовывают, один - график, другой механизм выбора диапазона (в дальнейшем этот механизм будем называть - ползунки). При создании объекта класса метод-конструктор принимает два аргумента, аргументами являются: 1. Мувиклип-основы(точнее присвоенное ему имя) и 2.Двумерный массив настроек в котором собраны параметры отображения т.е. данные по цвету, прозрачности, толщине линий и т.д. и т.п. Для получения представления о том что это за двумерные массивы настроек можно в качестве примера посмотреть: 
1. Пример двумерного массива настроек параметров отрисовки графика - - - - - - смотреть;
2. Пример двумерного массива настроек параметров отрисовки ползунков - - - -  смотреть;
     Далее об основном Fla-файле проекта - graf. Это обычный документ программы Adobe Flash, размером 600х350 пкс, временная шкала представлена 2 кадрами. Во втором кадре отрисованы два прозрачных мувика: klip и plz - первые аргументы в создании объектов своих классов (klip - для графика, plz - для ползунков). Зачем я так сделал? Затем что изначально я допускал возможность создания такой флешки на которой будут выводиться несколько гафиков одновременно и отрисовав вручную клипы для графиков и ползунков можно было достичь зрелищности. К данному fla-файлу подключаются (инклудируются) три файла кода : nachalo.as, otrabotka.as и parameters.as, кроме этого во втором кадре инклудируются два класса: GrafikDesign и RegPolzunok.  После генерации проекта (получения swf-файла), полученная флешка внедряется в html-страницу. При загрузке которой она захватывает XML-документ и разобрав его отрисовывает график, ... смотреть XML-документ. Но это я уже повторяюсь. Лучше разберём механизм работы проекта.
Механизм проекта "График".
1. Флешка загружается и загрузившись, в 1 кадре начинает разбирать XML-документ механизмом кода написанного в nachalo.as. - - - смотреть.
2. После получения данных происходит переход во второй кадр где в файл graf.fla инклудируются два файла parameters.as и otrabotka.as.