flash论文

您当前的位置:学术堂 > 计算机论文 > flash论文 >

FLASH中应用AS2.0脚本代码的典型案例

来源:学术堂 作者:周老师
发布于:2016-10-21 共2194字
摘要

  在学习了 FLASH 动画的基本形式:逐帧动画、运动补间动画、形变补间动画、引导线动画、遮罩动画、交互动画之后,就可以制作一些FLASH 动画作品了。 很多学校在学习到此就结束了。 但是但对于高职计算机专业有 C 语言基础的学生来说,要想使制作的动画更具表现力和一些 FLASH 特效就必须进一步学习 ActionScript2.0(AS2.0),充分发挥计算机专业学生的优势。 在 FLASH 中 ActionScript 有 AS3.0 和AS2.0 两个版本,AS3.0 适合于专业的程序员使用,而 AS2.0 更适合于FLASH 初学者和爱好者使用。使用 AS2.0 脚本代码来制作的许多效果比无代码制作的更逼真生动。

  下面介绍几个 FLASH 中应用 AS2.0 脚本代码的典型案例。

  典型的案例一:下雨效果

  首先,建立一个 ActionScript2.0 的 FLASH 文档。

  如果不使用 AS2.0 脚本代码的制作方法是用形变动画制作一滴雨下落的影片剪辑元件,然后把这个雨点元件大量地拖放排列在舞台上,效果是雨点会在固定的位置反复落下,生硬而不够生动。

  如果使用 AS2.0 脚本代码来制作方法也是制作一个雨点下落的影片剪辑元件,但只拖一个雨点到舞台上,起一个实例名(yd_mc)。 最后在帧上写上如下代码:

i = 1;
yd_mc._visible = false; \\ 将原雨点隐藏
yd_mc.onEnterFrame = function() { \\ 进入帧运行自定义函数
duplicateMovieClip("yd_mc", "yd_mc"+i, i); \\ 复制雨点,并命名
setProperty("yd_mc"+i, _x, random(550)+20); \\ 设置复制出的雨点随机位置
setProperty("yd_mc"+i, _y, random(100)); \\ 设置复制出的雨点随机位置
i++;
if (i>200) { \\ 限制雨点个数
i = 1;
}
};

  测试运行,将出现随机的下雨效果,逼真生动。 可用此代码做下雪、天女散花效果。

  典型的案例二:鼠标跟随效果

  将要做跟随的对象都转换成影片剪辑元件,拖放到舞台上,要注意元件的注册点一定要锁定中心。 影片剪辑的实例名分别为 a1_mc、a2_mc、a3_mc……。 然后在帧上写上如下代码:

K=5 \\ 设置跟随快慢
S=8 \\ 设置跟随距离
onEnterFrame = function() { \\ 进入帧运行自定义函数
a1_mc._x=_xmouse+2 \\ 第一个影片剪辑跟随鼠标
a1_mc._y=_ymouse+2 \\ 第一个影片剪辑跟随鼠标
a2_mc._x+=(a1_mc._x-a2_mc._x)/k+s \\ 第二个影片剪辑跟随第一个影片剪辑
a2_mc._y+=(a1_mc._y-a2_mc._y)/k \\ 第 二个影片剪辑跟随第一个影片剪辑
a3_mc._x += (a2_mc._x-a3_mc._x)/k+s; \\ 第三个影片剪辑 跟随第二个影片剪辑
a3_mc._y += (a2_mc._y-a3_mc._y)/k; \\ 第三个影片剪辑跟随第二个影片剪辑
a4_mc._x += (a3_mc._x-a4_mc._x)/k+s; \\ 第四个影片剪辑 跟随第三个影片剪辑
a4_mc._y += (a3_mc._y-a4_mc._y)/k; \\ 第四个影片剪辑跟随第三个影片剪辑
a5_mc._x += (a4_mc._x-a5_mc._x)/k+s; \\ 第五个影片剪辑 跟随第四个影片剪辑
a5_mc._y += (a4_mc._y-a5_mc._y)/k; \\ 第五个影片剪辑跟随第四个影片剪辑
a6_mc._x += (a5_mc._x-a6_mc._x)/k+s; \\ 第六个影片剪辑 跟随第五个影片剪辑
a6_mc._y += (a5_mc._y-a6_mc._y)/k; \\ 第六个影片剪辑跟随第五个影片剪辑
a7_mc._x += (a6_mc._x-a7_mc._x)/k+s; \\ 第七个影片剪辑跟随第六个影片剪辑
a7_mc._y += (a6_mc._y-a7_mc._y)/k; \\ 第七个影片剪辑跟随第六个影片剪辑
}

  测试运行, 可以通过对 k 和 s 的数值来改变跟随的快慢和距离,鼠标跟随效果就完成了。

  典型的案例三:绚丽曲线特效

  新建元件 1。画一线条。间隔 20,40 贞各插入 1 个要害贞,在第 20贞进行扭曲变形[在没有被选的状态下,用黑色箭头工具,外形任意],各点选第一贞和第 20 贞创建“外形动画”回到场景,拖入元件 1,实例名称“XZ”,选第一贞,打开动作,输入代码:

i = 1; \\ 设置变量初始值
xz = "xz";
while (i < 150) { \\ 循环
duplicateMovieClip(xz, xz + i, i); \\ 复制影片剪辑
setProperty(xz + i, _rotation, i * 4); \\ 设置影片剪辑旋转
i++;
} // end while在影片剪辑上写如下动作代码:
onClipEvent (enterFrame){
_rotation = _rotation + 20; \\ 影片剪辑旋转
}

  测试运行,见证奇迹吧。

  典型的案例四:日历指针钟

  在舞台上做好四个动态文本框,分别用于显示年、月、日、星期,变量分别设置为 year、ye、r、xq。在制作三个表针影片剪辑元件,表针都要指向 12 点方向,实例名分别为 mz_mc、fz_mc、sz_mc。 在帧上写上如下代码:

fscommand("fullscreen", "true");\\ 播放时全屏
Mouse.hide(); \\ 隐藏鼠标
onEnterFrame = function() {\\ 进入帧运行自定义函数
mydate = new Date(); //将日期类实例化为一个名为 mydate 的实例
s = mydate.getSeconds(); //获取当前秒数赋给变量 s
m = mydate.getMinutes(); //获取当前分数赋给变量 mh = mydate.getHours(); //获取当前小时数赋给变量 h
year = mydate.getFullYear()+"年";\\ 获取 4 位年并赋值给 year
ye=mydate.getMonth()+1+"月";\\ 获取当前月数值并赋值给 ye
r=mydate.getDate()+"日";\\ 获取当前日数值并赋值给 r
myarray=new Array("日","一","二","三","四","五","六"); //定义数组
xq="星 期"+myarray[mydate.getDay()];\\ 获取当前星期数值并赋值给xq
mz_mc._rotation = s*6; \\ 设置秒针旋转
fz_mc._rotation = m*6; \\ 设置分针旋转
sz_mc._rotation = (h+m/60)*30; \\ 设置时针旋转
};

  测试运行,一个个性的电子日历时钟就会伴你分分秒秒了。

  这是 FLASH 教学中最典型的四个案例,希望能对梦想成为闪客的追梦人一点启发,写出更多精彩有趣的代码案例,创作出更多精彩作品。

相关内容推荐
相关标签:
返回:flash论文