Flash实例教程.docx
《Flash实例教程.docx》由会员分享,可在线阅读,更多相关《Flash实例教程.docx(22页珍藏版)》请在冰豆网上搜索。
Flash实例教程
Flash实例教程
实例制作邮票(鸟语花香)
(1)新建文档(600*450);将素材导入到舞台中央。
(2)在图层1下方新建图层2,然后选择“矩形工具”绘制比图像四周略大的矩形(586*430,红色边框,填充颜色为白色);然后在“属性”面板中单击“自定义”按钮,并设置参数(粗细:
18,类型:
点状线,点距:
9)。
(3)对绘制的矩形执行分离操作。
(4)在矩形边框处于被选中状态时,执行“修改”/“形状”/“将线条转换为填充”命令;使用“选择工具”选择场景中的白色矩形,将其剪切;选择图层2,将第1帧删除,并插入关键帧,将剪切的图像粘贴至原位。
形状补间实例
实例飘扬的旗帜
(1)新建文档,在图层1绘制一个细长的圆角矩形作为旗杆;并在第20帧插入帧(F5);
(2)新建图层2,绘制一个笔触颜色无,填充色为红色的矩形作为旗帜;分别在第5、10、15、20帧插入关键帧,创建形状补间动画;并使用任意变形工具的封套功能,制作出旗帜飘扬时的状态。
实例旋转的三棱锥
新建文档,使用线条工具绘制立体图形,填充橘色到黄色的线性渐变,并删除边框;
(2)在第20帧插入关键帧,绘制立体图形;并创建形状补间动画;
(3)在第21帧插入关键帧,绘制三角形;
(4)选择第1帧,插入6个形状提示点;并在第20帧中将提示点移动到相应的舞台位置。
逐帧动画实例
实例倒计时动画
(1)新建文档,在图层1上使用椭圆工具和线条工具绘制背景图形;
(2)新建图层,输入数字,并插入关键帧,更改数字。
实例电子表
(1)新建文档,在图层1上绘制电子表图形;
(2)新建图层,输入数字,并插入关键帧,更改数字。
遮罩层实例应用
实例遮罩文字
(1)新建文档,在图层1使用文字工具输入文字信息;并在第30帧插入帧;
(2)新建图层2,并位于图层的下方,导入素材,并对素材的大小、位置进行调整;在第30帧插入关键帧,调整位置,创建补间动画。
(3)将图层1设置为遮罩层。
实例闪耀的五角星
(1)新建文档;绘制一个笔触颜色为橘红色,填充颜色为黄色到红色渐变的五角星;
(2)在第20帧、40帧插入关键帧,创建补间动画;并选中20帧,修改五角星的颜色(51,168,51);
(3)新建图层,绘制直线,复制直线绕五角星旋转一周;并将这些线条转换为填充;
(4)新建图层,绘制一个无填充颜色,笔触高度为10,颜色为白色完全透明到白色再到白色完全透明的圆;并将其转换为填充;复制2个圆,并将3个圆形成同心圆,进行尺寸缩小;
(5)在第40帧插入关键帧,将同心圆放大;创建补间动画;
实例万花筒
(1)新建文档(400*400),新建一个影片剪辑元件(Ctrl+F8),导入素材到场景中央。
(2)在图层1上新建图层2,绘制一个无边框的圆,位于场景中央,并将其打散。
(3)单击线条工具,在圆的中央画一条直线,使用任意变形工具,移动旋转中心点,在变形面板的旋转文本框中输入45度,单击复制并应用变形按钮;删除多余的图形得到扇形,并进行组合。
(4)选择图层1,在第60帧,插入关键帧,创建补间动画;并在属性面板设置沿顺时针旋转1次。
(5)选择图层2,在第60帧插入普通帧,,并将其转换为遮罩层。
(6)回到场景1,将图形元件删除,将扇形元件拖入到场景,在变形面板的旋转文本框中输入45度,单击复制并应用变形按钮,拼合成一个圆形。
(7)将场景中的元件,进行组合。
实例卷轴效果
(1)新建文档(白色背景,200*400),绘制矩形(180*400,部填充为橙色,边框线为6);再绘制一个矩形(150*360,填充为白色,边框线为2);
(2)新建一个图形元件(卷轴),用矩形工具绘制一个无边框的渐变矩形(200*20);用椭圆工具绘制一个渐变圆(30);
(3)新建2个图形元件(文字);输入文字,并进行滤镜效果处理;
(4)返回到场景,新建图层(卷轴1、卷轴2),并放入相应的图形元件;将文字元件导入到图层1中;
(5)在3个图层的第30帧插入关键帧,并修改卷轴2图层图形的位置(第1帧在上方,第30帧在下方),并创建补间动画;
(6)在图层1上方新建遮罩图层,绘制一个与画卷一样大小的矩形,创建补间动画。
动作脚本实例
实例比例控制杆
(1)新建文档,从场景(175,25)点向右绘制一条200点的水平线,并分别在头和尾添加静态文本50%、200%;
(2)新建一个影片剪辑,实例名为bili;
(3)新建一个影片剪辑,实例名为tupian;
(4)在场景第1帧添加代码:
bili.onPress=function()
{
startDrag("bili",true,175,25,375,25);
}
bili.onRelease=function()
{
stopDrag();
}
_root.onEnterFrame=function()
{tupian._xscale=bili._x-125;
tupian._yscale=bili._x-125;
}
实例制作光影效果
(1)新建文件;新建图形元件“光”,在图形元件的编辑窗口,绘制一个无边圆形,将其组合,移动到场景中心;
(2)新建一个影片剪辑元件“光1”,将光图形元件拖入到场景中,将其对齐到舞台中心;选择第10帧,插入关键帧,并将透明度更改为0,创建补间动画;在第10帧上添加停止语句;
(3)返回场景,新建图层,将光1拖动到场景中的灰色区域,使其在动画播放时不可见;并在属性面板中输入a作为实例名称;
(4)新建一个影片剪辑元件em,不做任何操作;回到场景,选择图层2,将em影片剪辑元件拖到场景中的灰色区域;添加脚本代码:
onClipEvent(load){
_root.i=1;
}
`onClipEvent(mouseMove){
duplicateMovieClip(_root.a,"a"+_root.i,_root.i);
_root["a"+_root.i]._x=_root._xmouse;
_root["a"+_root.i]._y=_root._ymouse;
_root.i++;
if(_root.i==50){_root.i=1;}
}
实例随机飘动的气球
(1)新建一个影片剪辑元件bolloon1(绘制一个气球),并拖曳到舞台图层1的第一帧,取实例名为qiq_mc,并输入代码:
onClipEvent(load){
speed=random(5)-random
(2)-random
(2)+4;}
onClipEvent(enterFrame){
this._y-=speed;
this._x+=math.cos(speed-4)
if(this._y<-45){
this._y=random(100)+445;
}
}
(2)新建一个图层,输入代码:
i=1;
while(i<=30){
duplicateMovieClip("qiq_mc","qiq_mc"+i,i);
setProperty("qiq_mc"+i,_x,random(550));
setProperty("qiq_mc"+i,_y,random(400)+550);
setProperty("qiq_mc"+i,_xscale,random(40)+10);
setProperty("qiq_mc"+i,_yscale,getProperty(eval("qiq_mc"+i),_xscale));
setProperty("qiq_mc"+i,_alpha,random(10)+70);
_root["qiq_mc"+i].c=newColor(_root.qiq_mc);
_root["qiq_mc"+i].c.setRGB(random(0xffffff));
i++
}
_root.qiq_mc._visible=0
实例繁星点点
(1)新建文档;新建图形元件,绘制星星图案;
(2)新建影片剪辑元件,将图形元件拖入场景中央,并在第15帧、30帧插入关键帧,将第15帧的图形缩小;
(3)将影片剪辑拖曳到场景灰色区域(-100,-100),并取实例名为xing;
(4)在场景的第1帧添加代码:
xing._visible=0
i=10;
_root.onMouseDown=function()
{
duplicateMovieClip("xing","x"+i,i);
setProperty("x"+i,_x,_xmouse);
setProperty("x"+i,_y,_ymouse);
n=Math.random()*100+50;
setProperty("x"+i,_xscale,n);
setProperty("x"+i,_yscale,n);
i++;
}
实例计时器
(1)新建文档,建立6个图层;
(2)在文本图层中拖动光标绘制4个动态文本框,实例名分别为“xiaoshi”、“fen”、“miao”、“haomiao”,并在4个文本框间绘制间隔符。
(3)在播放、停止、清除图层的第1帧各拖放一个按钮元件。
(4)在动作图层的第一帧,输入代码:
//定义用来存储计数用的小时数据、分钟数据、秒数据、毫秒数据、毫秒差值、重新计数开始前已经过的毫秒数据变量
_root.myxiaoshi=0;
_root.myfen=0;
_root.mymiao=0;
_root.myhaomiao=0;
_root.thisget=0;
_root.helphaomiao=0;
//将计算数据得到的小时数、分钟数、秒数、毫秒数在相应的文本框中显示出来
_root.xiaoshi.text=myxiaoshi;
_root.fen.text=myfen;
_root.miao.text=mymiao;
_root.haomiao.text=myhaomiao;
//定义用来计数的函数
_root.startcount=function()
{helphaomiao=getTimer();
_root.onEnterFrame=function()
{
thisget=getTimer()-helphaomiao;
myxiaoshi=(thisget-thisget%3600000)/3600000;
myfen=(thisget-thisget%60000)/60000%60;
mymiao=(thisget-thisget%1000)/1000%60;
myhaomiao=thisget%1000;
_root.xiaoshi.text=myxiaoshi;
_root.fen.text=myfen;
_root.miao.text=mymiao;
_root.haomiao.text=myhaomiao;
}
}
//定义用来停止的函数
_root.stopcount=function()
{
_root.onEnterFrame=function()
{
}
}
//定义用来清零的函数
_root.resetcount=function()
{
_root.onEnterFrame=function()
{
_root.xiaoshi.text=0;
_root.fen.text=0;
_root.miao.text=0;
_root.haomiao.text=0;
}
}
(5)分别对三个按钮写调用函数的代码:
计时按钮
on(press)
{startcount();}
停止按钮
on(press)
{stoptcount();}
清除按钮
on(press)
{resetcount();}
实例函数求值
(1)新建文档,使用文本工具输入静态文本函数表达式和提示信息;
(2)添加一个输入文本,变量名为x;添加一个动态文本,变量名为y;添加一个计算按钮,输入代码:
on(release){
if(_root.x!
=""){
i=Number(_root.x);
if(i>3){
_root.y=i*i-9;
}elseif(i<-3){
_root.y=i*i;}else{
_root.y=9-i*i;
}
}
}
添加一个清除按钮,输入代码:
on(release)
{
_root.x="";
_root.y="";
}
实例解一元二次方程
(1)新建两个图形元件text1(输入文字)、text2(绘制公式图)和一个影片剪辑元件nokey(第一帧,stop();第二帧,stop(),并在舞台上输入文字“无解”);
(2)回到主场景,将两个图形元件拖曳到舞台,并在舞台上绘制另外一个公式图。
并将影片剪辑元件拖动到舞台,实例名为incorrect。
(3)添加输入文本(在字母a、b、c后面,并在变量项后输入对应变量名)和动态文本(7个:
b1,b1,a1,c1,a1,topx,bottomx)。
(4)新建两个按钮元件calulate和cls;
(5)添加按钮和动作代码。
计算按钮代码:
on(press,keyPress"")
{
a1=a;
b1=b;
c1=c;
determinant=(b*b)-(4*a*c);
if(Number(determinant)<0)
{incorrect.gotoAndStop
(2);
}
else
{
n=Math.sqrt(Number(determinant));
topx=(Number(-b1)+Number(n))/(2*Number(a1));
bottomx=(Number(-b1)-Number(n))/(2*Number(a1));
incorrect.gotoAndStop
(1);
}
}
清除按钮代码:
on(press)
{
a="";
b="";
c="";
a1="";
b1="";
c1="";
topx="";
bottomx="";
incorrect.gotoAndStop
(1);
}
实例下雨(下雪、星空)效果
(1)新建文档,导入素材;
(2)新建影片剪辑,并取实例名;
(3)新建动作图层,在第1帧输入代码:
xiayu.duplicateMovieClip("yu"+i,i);
mc=_root["yu"+i];
mc._x=Math.random()*600+40;
mc._y=Math.random()*300;
mc._alpha=Math.random()*60+40;
i++;
在第2帧插入空白关键帧,输入代码:
if(i<40){
gotoAndPlay
(1);
}else{
i=1;
}
实例烟花
(1)新建文档;新建影片剪辑元件1,有3帧,不同颜色,并新建一个图层,分别在三帧上添加停止语句;
(2)新建影片剪辑元件2,实例化影片剪辑元件1为yuan,创建向右移动动画(1-25-30),并在第31帧插入空白关键帧,添加语句:
this.removeMovieClip();
stop();
(3)新建影片剪辑元件3,将影片剪辑元件2拖动到场景图层1,实例化为myyuan,并延长到第10帧;新建图层2,输入代码:
在第1帧添加代码:
j=0;
k=Math.floor(Math.random()*3)+1;
myyuan._visible=false;
在第3帧插入空白关键帧,添加代码:
for(i=j;i<60;i++)
{
mline.duplicateMovieClip("yuan"+i,i);
mc=eval("yuan"+i)
mc.yuan.gotoAndStop(k);
mc._rotation=i*6;
n=20+random(80);
mc._xscale=n;
mc._yscale=n;
}
在第7帧插入空白关键帧,添加代码:
for(i=j+60;imyyuan.duplicateMovieClip("yuan"+i,i);
mc=eval("yuan"+i)
mc.yuan.gotoAndStop(k);
mc._rotation=i*6;
n=20+random(80);
mc._xscale=n;
mc._yscale=n;
}
在第10帧插入空白关键帧,添加代码:
for(i=j+120;imyyuan.duplicateMovieClip("yuan"+i,i);
mc=eval("yuan"+i)
mc.yuan.gotoAndStop(k);
mc._rotation=i*6;
n=20+random(80);
mc._xscale=n;
mc._yscale=n;
}
stop();
(4)在库面板中右击影片剪辑元件3,选择,在对话框中取标识符为“dup”,并选中“为动作脚本导出”和“在第一帧导出”;
(5)返回主场景,输入提示信息,并在第一帧上输入代码:
i=0;
onMouseDown=function(){
attachMovie("dup","dyuan"+i,i);
_root["dyuan"+i]._x=_xmouse;
_root["dyuan"+i]._y=_ymouse;
i++;
}
组件实例解析
实例读者调查表
(1)新建文档,将图层1更名为“背景”,并导入素材;
(2)新建图层,名为“文字”,创建6个静态文本和一个输入文本(name);
(3)新建图层,名为“组件”,创建3组单选组件(xingbie、zhidao、pingjia)、一个下拉列表组件(zhiye)和一个按钮组件(提交)。
(4)新建图层,名为“结果”,第一帧为空白关键帧,添加停止语句;第二帧,创建动态文本,变量名为result;并创建一个按钮组件(返回)。
(5)对提交按钮添加代码:
on(press){
_root.result=":
"+_root.name.text+
"\r职业:
"+_root.zhiye.getValue()+
"\r性别:
"+_root.xingbie.getValue()+
"\r你是怎样知道这本书的?
:
"+_root.zhidao.getValue()+
"\r评价:
"+_root.pingjia.getValue()
_root.gotoAndStop
(2);
}
(6)对返回按钮添加代码:
on(click){
_root.gotoAndStop
(1);
}