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\ }
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\ 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=new Color(_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\ 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;
}else if(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\ _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); }
的?:
书