Внимание! У Вас появился шанс изучить все секреты Flash анимации! Перейти из разряда новичка в разряд опытного пользователя даже без посещения дорогих репетиторов и толстенных толмутов "библий пользователя".
Более 100 уроков записанных с экрана компьютера в превосходном качестве помогут пройти, Вам, терни Flash анимации кратчайшим путём!
Подробнее!..
|
|
flash урок: Обалденный эфект!!! ActionScript 2.0 |
30 мая 2009 |
|
Вот наткнулся в интернете на классный эффект и решил выложит его сюда.
Я в первый раз пишу новость, по этому прошу меня извинить, если что-то не так сделал :(
Вот сам код :
// Создаем массив для точек (точнее координат)
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});
}
Впишите это в первый кадр флэш ролика и получите классный эффект.
И еще, это смотриться красивее, если увеличить fps(частоту кадров) :) |
|
|
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости. |
|
Видео Журнал "Легко о Flash" - подписавшись на него вы будете один раз в месяц получать его выпуск на свой почтовый ящик, там вы найдете новые видео уроки по работе в программе Adobe Flash CS4. |
|
политика антиспама
подпишитесь сейчас и получите доступ ко всем выпущенным журналам |
|
return_links(2);
?>
return_links(2);
?>
return_links(1);
?>
return_links();
?>
|