Используются методы класса MovieClip
Контрольная работа №2
1. Описать назначение и принципы использования методов программного рисования в языке ActionScript.
Используются методы класса MovieClip
Применяются:
к экземпляру клипа (над содержимым)
к экрану – объекту _ root (под содержимым)
Методы для прямолинейных форм:
LineStyle(thickness,RGB,alpha) –рисует линию . Где:
thickness — толщина линии. Может быть задана целым числом от 0 до 255. Значению 0 соответствует hairline — самая тонкая из возможных во Flash линий, особенностью которой является то, что она не масштабируется при изменении размеров клипа. Если параметр thickness не прописан, линии рисоваться не будут;
rgb — параметр цвета линии. Необязателен. Принимает шестнадцатиричный код желаемого оттенка (определить его можно при помощи палитры Color Mixer). Если он не задан, то по умолчанию линии рисуются черными;
alpha — необязательный параметр, определяющий прозрачность линии, Принимает значение в процентах: 0 — абсолютно прозрачная линия, 100 — совершенно непрозрачная. Если параметр не задан, то ему автоматически ставится в соответствие значение 100.
Задание стиля линии является обязательным. Если метод lineStyle() не будет задействован, остальные методы рисования окажутся неработоспособными.
beginFill( RGB, alpha) – закрасить контур однородным оттенком.
color — шестнадцатеричный код, задающий цвет заливк.
alpha — параметр, определяющий прозрачность заливки. Необязателен. По умолчанию заливка непрозрачна.
moveTo( x, y) – указание начальной точки рисования(точки опускания пера). Где х и у координаты точки, с которой начинается линия.
lineTo( x, y) – используется, чтобы провести отрезок между последней точкой линии (или точкой опускания пера) и некоторой произвольной точкой. Где х и у – координаты этой точки, заданные в системе координат холста.
Методы для криволинейных форм:
curveTo( cx, cy, ax, ay) - Данный метод чертит фрагмент параболы второго порядка так, чтобы он, начавшись в последней точке кривой (или точке опускания пера), заканчивался в точке с координатами X=anchorX, Y=anchorY. Точки, задающие начало и конец фрагмента параболы, называются якорными. Направление и степень растяжения сплайна определяется параметрами controlX и controlY, которые соответствуют координатам точки пересечения касательных к параболе, проведенных через якорные точки
Графики функций
Написать и прокомментировать программу сценария:
2. Масштабирования объекта в соответствии с изменением размеров окна фильма.
fscommand(" allowscale", " true");
«allowscale» -Определяет, будут ли изменяться размеры фильма при масштабировании окна плейера
3. Маскирования одного объекта другим при перемещении маски мышью.
masked.setMask(mask); //маскируем клип masked маской, созданной на основании mask
mask.startDrag(true); // делаем маску перемещаемой
здесь mask – клип, который должен быть использован в качестве маски, masked –маскируемый клип.
4. Вывода в текстовое окно положения «ползунка» на шкале.
on( press){ this. startDrag( false, xmin, ymin, xmax, ymax);} //при нажатии объект будет //перемещаться (метод startDrag()), клип будет перемещаться относительно той //точки, в которой находился указатель мыши во время активации (параметр false), //xmin, ymin, xmax, ymax — точки, задающие границу области перемещения клипа
on(release){this.stopDrag();}
onClipEvent(EnterFrame){_root.t1.text=100*(this._x-188)/407;}
5. Часов с секундной, минутной и часовой стрелками.
_root.onEnterFrame=function(){
var time:Date=new Date();
var sec=time.getSeconds();
var min=time.getMinutes();
var hour=time.getHours();
_root.seconds._rotation=sec*6;
_root.minutes._rotation=(min+sec/60)*6;
_root.hours._rotation=(hour+min/60)*30;
}
![]() |
1. Описать назначение и принципы использования методов программного управления звуком в Flash-фильмах.
Объект Sound
s1= new Sound();
Методы:
setVolume( percent), где percent — уровень громкости в процентах по сравнению с принятой по умолчанию (0 — тишина, 100 — стандартная громкость).
setPan() – устанавливает громкость левой и правой колонок (-100 до 100)
getVolume() – возвращает громкость
getPan() – возвращает панорамность
Свойства:
_ duration – продолжительность в милисекундах
Написать и прокомментировать программу сценария:
2. Создания и форматирования динамического текста.
3. Управления перемещением объекта клавишами.
var step:Number=5;
mc.onEnterFrame=function(){
if(Key.isDown(Key.LEFT)){_x-=step;}
if(Key.isDown(Key.RIGHT)){_x+=step;}
if(Key.isDown(Key.UP)){_y-=step;}
if(Key.isDown(Key.DOWN)){_y+=step;}
}
4. Прорисовка графика функции sin( x).
dx=200;
dy=200;
x=y=0;
lineStyle(1,0x000000);
for(x=-10;x<=10;x=x+0.1){
y=Math.sin(x);
sx=20*x;
sy=20*y;
moveTo(dx+sx-1,dy+sy-1);
lineTo(dx+sx+1,dy+sy-1);
lineTo(dx+sx+1,dy+sy+1);
lineTo(dx+sx-1,dy+sy+1);
lineTo(dx+sx-1,dy+sy-1);
}
5. Отражения объекта от границ окна при его движении в окне по наклонной траектории.
onClipEvent(enterFrame){
_x+=1*_parent.kx;
_y+=1*_parent.ky;
if(_x>=Stage.width){_parent.kx=-1;}
if(_x<=0){_parent.kx=1;}
if(_y>=Stage.height){_parent.ky=-1;}
if(_y<=0){_parent.ky=1;}
}
![]() |
1. Описать назначение и принципы использования команды управления автономным проигрывателем Projector.
Написать и прокомментировать программу сценария:
2. Создания экземпляров клипа в виде шлейфа.
//в первом кадре сцены
var counter:Number=0;
mc1._x=_xmouse;
mc1._y=_ymouse;
mc1.onMouseMove=function(){
this._x=_xmouse;
this._y=_ymouse;
updateAfterEvent();
counter++;
this.duplicateMovieClip("mc1"+1,counter);
if(counter>=10){
counter=0;
}
};
// в последнем кадре, при создании объекта
stop();
this.removeMovieClip();
3. Регулировка громкости звука с использованием ползунка на шкале.
//в первом кадре слоя
s1=new Sound();
// к объекту, с помощью которого будет изменяться звук
on(press){
this.startDrag(false,this._x,73,this._x,219);
}
on(release){
this.stopDrag();
}
onClipEvent(enterFrame){
_root.s1.setVolume((219-this._y)/(219-73)*100);
}
4. Прорисовка прямоугольника и криволинейной фигуры.
// кривоугольник
with(_root){
lineStyle(0,0x00FF00,100);
beginFill(0xFF0000);
moveTo(0,0);
curveTo(200,200,400,0);
curveTo(200,200,400,400);
curveTo(200,200,0,400);
curveTo(200,200,0,0);
endFill();
}
// прямоугольник
with(_root){
lineStyle(10,0xFF0000,100);
beginFill(0x00FF00,50);
moveTo(0,0);
lineTo(100,0);
lineTo(100,100);
lineTo(0,100);
lineTo(0,0);
endFill();
}
5. Попадания объекта в целевую область (попадание мячей в корзину).
function moveToBase (clip:MovieClip, base:MovieClip){
var x: Number=clip._x;
var y:Number=clip._y;
clip.onPress=function(){startDrag(this);}
clip.onRelease=function(){stopDrag();
if(eval(clip._droptarget)==eval("_root."+base)){
clip._x=base._x;
clip._y=base._y;}
else{
clip._x=x;
clip._y=y;}}
}
moveToBase(pt,kor);
1. Описать назначение и принципы использования динамического и пользовательского текста в Flash-фильмах.
Написать и прокомментировать программу сценария:
2. Запуска анимации после ввода пароля.
// в последнем кадре слоя, где располагается текстовое поле
gotoAndStop(1);
t1.text="";
//к кнопке
on(press){if(pass=="Студент") {gotoAndPlay(2);}}
//на другом каком слое
stop();
3. Создание экземпляров фильма из библиотеки в виде «звездного фильма».
4. Регулировки стереоэффекта для звука с использованием ползунка на шкале.
//ну это если он хочет показать изменение баланса =)
//в первом кадре слоя
s1=new Sound();
//к объекту, с помощью которого будем изменять баланс
on(press){
this.startDrag(false,107,this._y,334,this._y);
}
on(release){
this.stopDrag();
}
onClipEvent(enterFrame){
_root.s1.setPan((this._x-(334+107)/2)/((334-107)/2)*100);
}
5. Движение объекта по траектории эллипса.
var w:Number=400;
var h:Number=200;
var s:Number=0.01;
var t:Number=0;//Math.random()*Math.PI*2;
sp1.onEnterFrame=function(){
sp1._x=100+Math.sin(t)*(0.5*w-0.5*sp1._width)+0.5*w;
sp1._y=100+Math.cos(t)*(0.5*h-0.5*sp1._height)+0.5*h;
//
//sp1._x=100+Math.pow(Math.sin(t),3)*(0.5*w-0.5*sp1._width)+0.5*w;
//sp1._y=100+Math.pow(Math.cos(t),3)*(0.5*h-0.5*sp1._height)+0.5*h;
//
//sp1._x=100+Math.sin(t)*Math.cos(2*t)*(0.5*w-0.5*sp1._width)+0.5*w;
//sp1._y=100+Math.cos(t)*Math.cos(2*t)*(0.5*h-0.5*sp1._height)+0.5*h;
t+=s;
}