пятница, 7 января 2011 г.

Урок 10. Маски

Здравствуйте! Что такое маски во флеше объяснить словами трудно, поэтому лучше посмотрите пример:





Кажется, что фонарик освещает часть стены. Этот эффект сделан с помощью масок. Давайте сделаем такую программу и по ходу дела разберемся, что такое маска.
1. Сначала создадим файл ActionScript 3.0.
2. Нарисуем фон – то, что мы будем освещать, выделим весь фон, нажимаем F8, устанавливаем тип MovieClip и называем это background_mc.
3. Нарисуем два одинаковых круга, один раскрашиваем в любой цвет, например, белый и назовём circle, а другой назовём circle_alpha и раскрасим в жёлтый Radial градиент. Это уроки ActionScript, а не рисования, так что я просто выложу скрин.
Вроде бы с графической частью этого уроки мы разобрались. Перейдём к коду:

Mouse.hide(); //скрываем курсор
background_mc.mask=circle; //маской фона делаем circle
stage.addEventListener(MouseEvent.MOUSE_MOVE,mouse_move); //ну, это я надеюсь //понятно)
function mouse_move(e:MouseEvent){
//все круги перемещаем в координаты мыши
 circle.x=mouseX;
 circle.y=mouseY;
 circle_alpha.x=mouseX;
 circle_alpha.y=mouseY;
}
//код приведенный ниже просто наглым образом перекидывает ко мне на блог))
stage.addEventListener(MouseEvent.CLICK,doToURL);
function doToURL(e:MouseEvent){
 var request:URLRequest = new URLRequest("http://konansthoughts.blogspot.com/");
 navigateToURL(request, "_blank");
}

В чём же “фишка”?) В том, что circle скрывает фон везде, кроме себя. А поверх circle, которого не видно, ложится полупрозрачный circle_alpha и кажется, что место освещено. Необязательно делать маску круглой, можно сделать как угодно. С этого урока обучающие уроки пойдут гораздо реже( Просто тем несложных уроков осталось мало. Но зато, я надеюсь, что пойдут просто интересные эффекты (или что-то похожее) с объяснённым в некоторых местах кодом (разница в том, что не будет тем и будут более интересные примеры ). Ну а как же без священного ритуала выкладывать исходник?) До следующего поста ;)

Комментариев нет:

Отправить комментарий