Категории каталога
Создание игр
[358]
Статьи об общих понятиях связанных с созданием игр.
Программирование
[83]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры
[147]
Статьи о программах для создания игр, уроки и описания.
Софт
[43]
Различные программы, в том числе в помощь игроделам.
2D-графика
[14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика
[17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр
[5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры
[167]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное
[132]
Статьи, которые не вошли в определённые разделы.
Урок "Свет" actionScript2.0
посмотреть как это будет: http://us.ua/72726/ исходник (9 версия flash): http://us.ua/72728/ рисуем мувик "ground" (черный), делаем поле черным (в настройках). Для плавности в настройках можно поставить фпс 30. В рут кидаем код:
onEnterFrame=function(){ duplicateMovieClip(ground,"ground",100)//копируем мувик ground для того чтобы он был выше света t_x=275//координаты откуда идет свет t_y=200 t2_x=275 t2_y=200 t3_x=275 t3_y=200 t4_x=275 t4_y=200 t5_x=275 t5_y=200 ugol=Math.atan2(_ymouse - 200, _xmouse - 275) / Math.PI * 180;//определяем угол к курсору for(i=1;i<120;i++){ t_x += 3 * Math.cos(ugol/180*Math.PI);//двигаем точку от центра t_y += 3 * Math.sin(ugol/180*Math.PI); if(ground.hitTest(t_x,t_y,true)){//точка попала на ground i=301 } } // по аналогии for(i=1;i<120;i++){ t2_x += 3 * Math.cos((ugol-5)/180*Math.PI); t2_y += 3 * Math.sin((ugol-5)/180*Math.PI); if(ground.hitTest(t2_x,t2_y,true)){ i=301 } } for(i=1;i<120;i++){ t3_x += 3 * Math.cos((ugol-10)/180*Math.PI); t3_y += 3 * Math.sin((ugol-10)/180*Math.PI); if(ground.hitTest(t3_x,t3_y,true)){ i=301 } } for(i=1;i<120;i++){ t4_x += 3 * Math.cos((ugol+5)/180*Math.PI); t4_y += 3 * Math.sin((ugol+5)/180*Math.PI); if(ground.hitTest(t4_x,t4_y,true)){ i=301 } } for(i=1;i<120;i++){ t5_x += 3 * Math.cos((ugol+10)/180*Math.PI); t5_y += 3 * Math.sin((ugol+10)/180*Math.PI); if(ground.hitTest(t5_x,t5_y,true)){ i=301 } } this.createEmptyMovieClip("aa",1)//рисуем линию with(aa){ lineStyle(20,0xFFFFFF)//белая, толщина=20 moveTo(275,200) lineTo(t_x,t_y) moveTo(275,200) lineTo(t2_x,t2_y) moveTo(275,200) lineTo(t3_x,t3_y) moveTo(275,200) lineTo(t4_x,t4_y) moveTo(275,200) lineTo(t5_x,t5_y) } aa.filters = [new flash.filters.BlurFilter(14, 14, 3)];//размытие света }
Скриншоты:
Категория: Программирование | Добавил: apoptom (22 Октября 2010)
| Автор: Юрий Сухоставский
Просмотров: 3399 | Комментарии: 4
| Рейтинг: 4.3 /6 |
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Теги: ActionScript , свет , as2 , actionScript2.0 , AS , пучок света , Флэш , Flash , флеш , svet
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Урок "Свет" actionScript2.0», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Всего комментариев: 4
Порядок вывода комментариев:
По умолчанию
Сначала новые
Сначала старые
0
в принципе все так, сначала движется точка от заданой до курсора - срабатывает хитТест - рисуеться линия
1
Хотелось бы понять принцип. Как я понимаю свет состоит из пяти лучей, которые рисуются каждый кадр от заданной точки в направление к мыши ( каждый луч при этом имеет отклонение на несколько градусов ), только я не понимаю как hitTest определяет до куда рисовать линию луча света. Объясни принцип, поправь если что не так!
1
Спасибо. Подписал основные моменты. Но все равно я считаю что данный урок не по азам as, а для уже более продвинутого программиста.
1
Отличный урок! Спасибо!
Одно но - нельзя было разъяснить, что строчки кода делают?
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]