Эффект рисования as2

// Создаем массив для точек (точнее координат) var pointArray:Array = new Array();

// Определяем центр "вселенной" как центр сцены var centerX:Number = Stage.width / 2; var centerY:Number = Stage.height / 2;

// Определяем элементы массива точек как объекты со свойствами pointX и pointY

// и заполняем их значениями нашего центра "вселенной" for (var i:Number = 0; i < 100; i++) { pointArray[i] = new Object(); pointArray[i].pointX = centerX; pointArray[i].pointY = centerY; }

// Ну что ж, приступим. В каждом кадре.... this.onEnterFrame = function() {

// очищаем сцену this.clear();

// перемещаемся в точку, которая в массиве стоит первой this.moveTo(pointArray[0].pointX, pointArray[0].pointY)

// А теперь перебираем все точки for (var i:Number = 1; i < 100; i++) {

// пусть линия у нас начинается от абсолютно черной и "уходит" в небытие,

// то есть становится белой в конце

// для этого и следующие две строки.

// чтоб не вдаваться в подробности, лиш скажу что в переменной RGB мы должны

// получить цвет оттенка серого в строковом формате "0000" var colort = int((100 - i) * 255 / 100); var RGB = "0x" + Number(colort + colort * 256 + colort * 256 * 256).toString(16);

// определяем стиль для линии, при этом пусть у начала линия будет тонкой,

// а в конце - 20 this.lineStyle(20 - 19 * i / 100, RGB, 100, true, "none", "round", "round", 1);

// непосредственно рисуем линию до текущей точки this.lineTo(pointArray[i].pointX, pointArray[i].pointY);

// а теперь немного сместим координаты уже отрисованной точки от центра

// коэффициент 1.03 регулирует скорость "полета"

// (предупреждая упреки неиспользования переменной скажу - мне было впадло 🙂 pointArray[i].pointX = 1.03 * (pointArray[i].pointX - centerX) + centerX; pointArray[i].pointY = 1.03 * (pointArray[i].pointY - centerY) + centerY; }

// теперь удаляем координаты первой точки pointArray.shift();

// и добавляем в конец массива координаты курсора pointArray.push({pointX:_xmouse, pointY:_ymouse}); }

Полный разбор здесь

comments powered by HyperComments