-
您的位置:首页 → 网页设计 → Flash → Flash鼠标特效精选实例(4)
Flash鼠标特效精选实例(4)
时间:2004/11/7 2:17:00来源:本站整理作者:蓝点我要评论(0)
-
第四节:磁铁鼠标
该实例实现的是,一鼠标如同磁铁一样吸附周围的事物,最终效果如图4.1所示,要实现这一效果,具体步骤如下:
图4.1 磁铁鼠标
1.新建一影片,通过属性面板设置其大小为550pxX400px(单位为象素),背景色为#CCCCCC。
2.新建一按钮元件“reset”,其制作方法这里不再赘述,按钮如图4.2所示:
图4.2 制作按钮
3.新建一影片剪辑“mental”,这就是影片中的小铁削,其时间轴窗口中只有一帧,在工作区中绘制小铁削如图4.3所示:
图4.3 绘制小铁削
4.新建一影片剪辑“magnet”,也就是影片中的矩形磁铁,其制作非常简单,只需要在工作区中绘制如图4.4所示的矩形图案即可,当然读者可以进行个性化设置磁铁样式和颜色。
图4.4 制作磁铁
5.返回主场景,将默认图层更名为“iron filing”,从库在将影片剪辑“mental”拖放到工作区中创建实例“m”,并为该实例添加如下脚本:
onClipEvent (load) {
n = substring(_name, 2, 1);
mindis = 200;
k = .002;
decay = .97;
}
onClipEvent (enterFrame) {
mouse_x = int(_root._xmouse-this._x);
mouse_y = int(_root._ymouse-this._y);
if (mouse_x>0 && mouse_y>0) {
quad = Number(4);
}
if (mouse_x<0 && mouse_y>0) {
quad = Number(1);
}
if (mouse_x<0 && mouse_y<0) {
quad = Number(2);
}
if (mouse_x>0 && mouse_y<0) {
quad = Number(3);
}
abs_x = Math.abs(mouse_x);
abs_y = Math.abs(mouse_y);
tg = abs_y/abs_x;
_root.leo = Math.atan(tg)*Number(180)/Math.PI;
if (quad == 1) {
angle = Number(90)-Number(_root.leo);
}
if (quad == 2) {
angle = Number(90)+Number(_root.leo);
}
if (quad == 3) {
angle = Number(270)-Number(_root.leo);
}
if (quad == 4) {
angle = Number(270)+Number(_root.leo);
}
setProperty (_this, _rotation, angle);
x = this._x;
y = this._y;
mx = _root._xmouse;
my = _root._ymouse;
disx = math.abs(x-mx);
disy = math.abs(y-my);
if (math.sqrt(disx*disx+disy*disy)<=mindis and stick eq "") {
if (this.hitTest(_root.magnet)) {
stick = "yes";
xspace = x-mx;
yspace = y-my;
}
xmov = k*(mx-x)+decay*xmov;
ymov = k*(my-y)+decay*ymov;
setProperty (this, _x, xmov+x);
setProperty (this, _y, ymov+y);
}
}
onClipEvent (mouseMove) {
if (stick eq "yes") {
setProperty (this, _x, _root._xmouse+xspace);
setProperty (this, _y, _root._ymouse+yspace);
}
}
onClipEvent (enterFrame) {
}
6.新建图层“magnet”,将影片剪辑“magnet”拖放到工作区中创建实例,其实例命为“magnet”,并为其添加如下脚本:
onClipEvent (load) {
startDrag(this, true);
}
7.新建一图层“spreadbutton”,将按钮元件“reset”拖放到工作区的适当位置,并为按键添加如下脚本:
on (press) {
_root.m.stick = "";
setProperty(_root.m, _x, Random(550));
setProperty(_root.m, _y, Random(400));
for (i=1; i<=25; ++i) {
_root["m"+i].stick = "";
setProperty(_root["m"+i], _x, Random(550));
setProperty(_root["m"+i], _y, Random(400));
}
}
8.新建一图层“actions”,该图层主要用来存放脚本以控制影片的动作,其脚本如下所示:
num = 25;
n = 1;
while (n<=num) {
duplicateMovieClip("m", "m" add n, n);
setProperty("m" add n, _x, Random(550));
setProperty("m" add n, _y, Random(400));
n = n+1;
}
9. 这样整个鼠标中键模拟效果就制作完成,保存作品,按“ctrl Enter”预览最终效果。
相关阅读
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条评论>>