由于本例的效果完全是用动作脚本作出来的,所以只需在场景中写上“移动你的鼠标”几个字后,就可以直接进入动作脚本的编辑了。
开始之前,先要掌握下面几个函数的使用方法。
首先看看绘图函数如何使用:
myMovieClip.lineStyle ([thickness[, rgb[, alpha]]])
参数
thickness
一个整数,以磅为单位指示线条的粗细;有效值为 0 到 255。如果未指定数值,或者该参数为 undefined,则不绘制线条。如果传递的值小于 0,则 Flash 使用 0。数值 0 指示极细的粗细;最大粗细为 255。如果传递的值大于 255,则 Flash 解释程序使用 255。
rgb
线条的十六进制颜色值(例如,红色为 0xFF0000,蓝色为 0x0000FF,等等)。如果未指示该值,则 Flash 使用 0x000000(黑色)。
alpha
一个整数,指示线条颜色的 Alpha 值;有效值为 0 到 100。如果未指示该值,则 Flash 使用 100(纯色)。如果该值小于 0,则 Flash 使用 0。如果该值大于 100,则 Flash 使用 100。
说明
方法;指定一个线条样式,供 Flash 用于对 lineTo 和 curveTo 方法的后续调用,直到使用其他参数调用 lineStyle 为止。可以在绘制路径的中间调用 lineStyle 方法来为路径中的不同线条段指定不同的样式。
myMovieClip.moveTo (x, y)
参数
x
一个整数,指示相对于父影片剪辑的中心点的水平位置。
y
一个整数,指示相对于父影片剪辑的中心点的垂直位置。
说明
方法;将当前绘画位置移到 (x, y)。如果缺少任何一个参数,则此方法将失败,并且当前绘画位置不改变。
myMovieClip.lineTo (x, y)
参数
x
一个整数,指示相对于父影片剪辑的中心点的水平位置。
y
一个整数,指示相对于父影片剪辑的中心点的垂直位置。
说明
方法;使用当前线条样式从当前绘画位置向 (x, y) 绘制线条;当前绘画位置随后被设置为 (x, y)。如果正在其中绘制的影片剪辑包含用 Flash 绘画工具创建的内容,则调用 lineTo 将在该内容下面进行绘制。如果在对 moveTo 方法进行任何调用之前调用了 lineTo 方法,则当前绘画位置默认为 (0, 0)。如果缺少任何一个参数,则此方法将失败,并且当前绘画位置不改变。
其次,就是Flash MX提供的一个创建空白影片剪辑的函数:
myMovieClip.createEmptyMovieClip (instanceName, depth)
参数
instanceName
标识新影片剪辑的实例名的字符串。
depth
指定新影片剪辑的深度的整数。
说明
方法;创建作为现有影片剪辑子级的空影片剪辑。该方法的行为类似于 attachMovie 方法,但是不必为新的影片剪辑提供外部链接名称。新创建的空影片剪辑的注册点为左上角。如果缺少任意一个参数,则该方法将失败。
第三个也是Flash MX新增的函数,这里只做个简单介绍:
setInterval( function, interval[, arg1, arg2, ..., argn] )
说明
动作;在播放影片时,每隔一定的时间间隔,就调用函数、方法或对象。
参数
function
一个函数名或者一个对匿名函数的引用。
interval
对 function 或 methodName 参数的两次调用之间的时间,以毫秒为单位。
arg1、arg2...argn
可选参数,传递给 function 的参数。
下面就可以正式开始了。
在时间线上点选第1帧(也只有这一帧),打开动作面板,写入如下语句:
// 显示鼠标踪迹,当鼠标静止时,随机作图
i = 0; // 显示鼠标踪迹的影片剪辑的顺序号
max = 50; // 共创建50个影片剪辑
n = 0; // 记录鼠标静止时间的累加器
// 主程序
function main() {
// 初始化变量
if (x0 == undefined) {
x0 = _xmouse; // x0,y0记录鼠标初始位置
y0 = _ymouse;
}
if (x0 == _xmouse && y0 == _ymouse) { // 如果鼠标没动
n = n+1; // 开始累加
if (n>15) { // 当累加器大于15时
star(x0, y0); // 起动随机作图程序
n = 0; // 累加器复位
}
} else { // 如果鼠标移动了
if (i>max) {
i = 0; // 如果影片剪辑数目超过最大值,再从0开始
}
// 创建一个空影片剪辑
_root.createEmptyMovieClip(i, i+100);
// 设置线条样式
_root[i].lineStyle(0, 0, 100);
// 开始画线
_root[i].moveTo(x0, y0);
_root[i].lineTo(_xmouse, _ymouse);
// 重新记录鼠标位置
x0 = _xmouse;
y0 = _ymouse;
i = i+1; // 影片剪辑的顺序号自加
n = 0; // 累加器复位
}
}
// 随机作图程序
function star(x, y) {
if (i>50) {
i = 0;
}
_root.createEmptyMovieClip(i, i+100);
_root[i].lineStyle(0, 0, 100);
_root[i].moveTo(x, y);
for (k=1; k<5; k++) { //随机产生4个点并连线
tx = x+Math.random()*80-40;
ty = y+Math.random()*80-40;
_root[i].lineTo(tx, ty);
}
_root[i].lineTo(x, y); //最后再连回起始点
i = i+1;
}
setInterval(main, 50); // 每50毫秒执行一次函数main()
好,至此,这个作品全部完工。现在我们知道了,Flash MX已经能够让我们“凭空”制造出美丽的图案了,它的功能是越来越强大了!
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 没有查询到任何记录。
最新文章
Flash CS4基础入门
如何在Flash中打开一个定制的浏览器新窗口?学习ActionScript 3.0的6个好处几个小技巧精简Flash文件体积在Flash动画中添加“加为收藏”和“设为首页
人气排行 Flash游戏制作--小熊拼图用Flash实现几种镜头效果Flash制作动画知识:遮罩Flash如何做鼠标指针样式Flash制作环形文字Flash制作声情并茂的电子相册实例讲解flashMTV制作全过程(3)鼠标效果系列教程:游动的鱼
查看所有0条评论>>