Программное рисование во FLASH можно реализовывать двумя методами. Первый - это копирование объектов Movie Clip в определенную позицию, а второй - использование методов класса того же Movie Clip, а именно:
· moveTo - установка курсора в новую позицию
· lineTo - прорисовка линии из текущей точки в новую
· curveTo - прорисовка кривой из текущей точки
Воспользуемся обоими методами для построения графика функции.
1. Как всегда сначала создадим новый документ во FLASH 320x260 - fgraf.fla. 2. Создадим в нем новый слой, как показано на рисунке.
3.Далее создадим объект MovieClip. А именно нарисуем маленький кружок, например желтого цвета, и предварительно выделив его, нажмем правую кнопку мыши, в появившемся меню выберем пункт Convert to Symbol.
4. В итоге в библиотеке элементов у нас появится объект dot. Выделите его и нажмите правую клавишу мыши, в появившемся меню выберите пункт Linkage… и установите птички в соответствии с рисунком.
5. Ну что же, почти вся подготовительная часть завершена, так что приступим к программированию на ActionScript. Создайте еще один слой и назовите его action. Выделите первый кадр и перейдите в панель Actions, где впишите следующий код.
// начальная координата откуда идет отсчет
var WAVEX0 = 12;
var WAVEY0 = 65;
//название само говорит за себя
var angle = 0;
// построение с помощью дублирования клипа "dot"
for (var i=0; i<180; i++) {
angle -= Math.PI/180*2;
this.attachMovie("dot", "dot"+i, i, {_x:WAVEX0+i, _y:WAVEY0 - Math.sin(angle)*50});
}
После чего полученное приложение можно тестировать.
6. С первым методом разобрались, остался второй. В нем тоже все предельно просто. Добавим к нашему проекту новый MovieClip как в пункте 3, но только пустой.
7. Еще необходимо присвоить имя нашему клипу в кладке Properties - mc, для того чтобы в скрипте можно было обратиться к нему.
8. Этот пункт заключительный. Нам осталось лишь дописать немножко кода в слое action. Добавьте следующее:
// построение с помощью методов класса MovieClip (moveTo,lineTo)
// в нашем случае классом типа MovieClip является объект _root - как видно
// из его названия он корневой элемент в иерархии всех MovieClip'ов нашей сцены
var xtemp = 0;
var ytemp = 0;
// устанавливаем стиль линии
mc.lineStyle(2, 0x000000, 100);