Как создавать свои Flash-игры, подобные Angry Birds и World of Goo?
Box2D - это библиотека, которая моделирует физическое поведение твердых тел в двумерном пространстве. Программисты могут использовать ее в своих играх, чтобы сделать...
Вот наткнулся в интернете на классный эффект и решил выложит его сюда.
Я в первый раз пишу новость, по этому прошу меня извинить, если что-то не так сделал :(
Вот сам код :
// Создаем массив для точек (точнее координат) 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(частоту кадров) :)
Комментарии
несколько минут смотрел, глючил
Самое интересное, что ничего рисовать не надо. Я не то, что не знал, что такое можно сделать во флэше, я даже представить не мог , что такое можно сделат вообще
Keyboard not found. Press any key to continue
Чёто неполучилось((
Jaguar16, ты делал в ActionScript 2.0 или в ActionScript 3.0, потому что в 3.0 не будет работать
Jaguar16, ты делал в ActionScript 2.0 или в ActionScript 3.0, потому что в 3.0 не будет работать
А название темы видно хорошо?))))))))))
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -
#6 Опубликовано 20 августа, 2009 - 14:52 пользователем Alex Save
#7 Опубликовано 13 сентября, 2009 - 19:29 пользователем OlaN
#8 Опубликовано 15 ноября, 2009 - 14:49 пользователем click
#9 Опубликовано 29 апреля, 2010 - 14:49 пользователем animeshka
#10 Опубликовано 7 июня, 2010 - 18:48 пользователем lifestyle94
#11 Опубликовано 22 июня, 2010 - 22:16 пользователем rest
#12 Опубликовано 18 октября, 2010 - 15:15 пользователем BesПредел
#13 Опубликовано 8 ноября, 2010 - 16:20 пользователем Kkolyan
В
#14 Опубликовано 25 ноября, 2010 - 17:04 пользователем Morozoff
#15 Опубликовано 8 мая, 2011 - 18:47 пользователем boombast1k
Прикольно! Самому себя в гипноз вводить))
Эффектно!
Наверное, вместо прямых линий можно попробовать использовать кривые (типа Безье или т.п.), чтобы плавнее было
WOW. Прикольно :)
Чудесаааа...
Отдых для глаз! и полет фантазии))
спасибо.
Еще советую в конец кода добавить
Mouse.hide();
Тогда ваще кайф)))
че-то нефига((((((
Скажите, куда это воткнуть?
Скажите, куда это воткнуть?
ActionScript 2.0 (в название)
Про воткнуть.
Создаете файл .fla в формате AS2
Выделяете первый кадр и нажимем F9 ( вызываем редактор AS)
туда вставляем копи-пастом приведенный код и нажимаем Ctrl+Enter - все готово
!
( не забываем водить мышкой по мувику - я не сразу понял, в чем фишка:)
а еще там где
toString(16);
вместо 16 можно поставить любое другое значение и получается разноцветные полочки)