Статьи

Flash Script — Создать Flash Sketchpad


Flash MX теперь имеет возможность динамически рисовать линии и кривые, используя новые методы рисования объекта MovieClip. Я научу вас, как создать простое приложение для рисования линий, используя встроенный API-интерфейс рисования Flash.

Загрузите примеры файлов здесь .

Используемые функции

Основные функции, которые я использую для этого приложения:

myMovieClip.createEmptyMovieClip (instanceName, depth) 

Этот метод создает пустой фрагмент ролика как дочерний элемент существующего фрагмента ролика. Этот метод работает аналогично методу attachMovie , но вам не нужно attachMovie имя attachMovie для attachMovie ролика. Точка регистрации вновь созданного пустого фрагмента ролика — верхний левый угол. Этот метод не работает, если какой-либо из параметров отсутствует.

 myMovieClip.lineStyle (thickness,rgb,alpha) 

Этот метод указывает стиль линии, который Flash использует для последующих вызовов методов lineTo и curveTo пока вы не lineStyle с другими параметрами. Вы можете вызвать метод lineStyle в середине рисования пути, чтобы указать разные стили для разных отрезков в пределах пути.

 myMovieClip.moveTo (x, y) 

Этот метод перемещает текущую позицию рисования в (x, y) . Если какой-либо из параметров отсутствует, этот метод не выполняется, и текущая позиция рисования не изменяется.

 myMovieClip.lineTo (x, y) 

Этот метод рисует линию, используя текущий стиль линии от текущей позиции рисования до (x, y) ; текущая позиция рисования затем устанавливается на (x, y) . Если мувиклип, который вы рисуете, содержит контент, созданный с помощью инструментов рисования Flash, — вызовы lineTo выполняются под контентом. Если вы вызываете метод lineTo перед любыми вызовами метода moveTo, текущая позиция рисования по умолчанию lineTo (0, 0) . Если какой-либо из параметров отсутствует, этот метод не выполняется, и текущая позиция рисования не изменяется.

Процесс

1. Создайте новый фильм и выберите первый кадр.

Откройте окно ActionScript и введите:

 createEmptyMovieClip("Line",1); 

Приведенный выше код создает пустой мувиклип с именем экземпляра Line с глубиной 1

2. Введите код ниже, чтобы установить стиль линии:

 Line.lineStyle(1,0x000000,100); 

Приведенный выше код устанавливает стиль линии динамически. Линия будет толщиной в 1 пункт и будет иметь шестнадцатеричный цвет черного и альфа-значение 100.

3. Введите код, который нарисует линию:

 onMouseDown = function (){  Line.moveTo(_xmouse, _ymouse);  onMouseMove = function (){  Line.lineTo(_xmouse, _ymouse);}  }  onMouseUp=function(){  onMouseMove=null;  } 

Приведенный выше код нарисует линию, когда вы нажимаете и перетаскиваете мышь.

Давайте посмотрим, как работает каждая строка:

 onMouseDown = function (){ 

Функция onMouseDown активируется при нажатии кнопки мыши.

 Line.moveTo(_xmouse, _ymouse); 

Это переместит линию в начальную точку, которая будет находиться там, где вы щелкнули. _xmouse и _ymouse — это _xmouse _ymouse по x и y.

 onMouseMove = function (){ 

Функция onMouseMove активируется только при перемещении мыши.

 Line.lineTo(_xmouse, _ymouse);} 

Это создаст линию к точке, куда когда-либо будет перетащена ваша мышь.

 onMouseUp=function(){ 

Функция onMouseUp активируется при отпускании кнопки мыши.

 onMouseMove=null; 

Эта функция отключает функцию onMouseMove() чтобы линия больше не рисовалась до тех пор, пока пользователь снова не нажмет кнопку мыши.

Это полный код:

 createEmptyMovieClip("Line",1);  Line.lineStyle(1,0x000000,100);   onMouseDown = function () {  Line.moveTo(_xmouse, _ymouse);  }   onMouseMove = function ()  {  Line.lineTo(_xmouse, _ymouse);}  }   onMouseUp=function() {  onMouseMove=null;  }   //The above code should be entered in the first frame of the movie 

Проверьте фильм. Нажмите и перетащите, чтобы увидеть нарисованную линию. Если вы правильно выполнили все шаги, вы получите тот же результат, что и мой.