快速业务通道

箭头跟随鼠标效果

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


昨天看了一个高手(反正都比我高)写的关于“梵天”网站上的始终指向鼠标的箭头的制作方法。可惜源文件是使用的Flash 2004的我用的MX打不开……而且我刚学了几个月,菜的很,里面的很多指令我都看不动。所以我自己用了一早上的时间自己用MX做了一个相对简单的相同的效果。让和我一样菜的闪鸟也乐一下。
http://www.flash8.net/bbs/UploadFile/20042181251258268.swf
开始了(第一次讲课,紧张中……) 新建一个mc元件“箭头”
进入“箭头”元件的编辑。在元件的中心再画一个方向水平向右的箭头,然后选中该图形,F8,转换为新的影片剪辑,命名jt(其实该元件可以任意命名,不影响使用,只是远见实力的名称才影响使用。),然后把刚刚转化元件在“箭头内的实例名称命名为“jt”,alpha属性(即透明度)设置为0 。再选中第二帧,F5,增加一个延续帧。
***注意,所有操作始终是在元件“箭头”内,不对主场景进行任何编辑,这样有利于以后的维护和元件的再利用。
在元件“箭头”内新建一个图层,命名为as。在as的第二帧按F7,转化为空白关键帧。
开始写程序。
在as图层的第一帧写如下程序:
dy=jt._y-_ymouse;
dx=_xmouse-jt._x; //在flash的平面坐标系中,X轴坐标于数学坐标一样,向右递增 。Y坐标相 反,向下递增。所以这两个求鼠标与元件坐标差的 公式书须相反。
tan=function(y,x){
return Math.atan2(y,x)*180/Math.PI}; //自定义一个函数,该函数通过给出 参数Y,X 求出夹角,并以角度制度表示。
i=i+1; 写AS图层第2帧的程序:
jiao=tan(dy.dx); //利用刚刚在第一帧自定义的函数,计算出鼠标与元件jt (即画出箭头)的夹角。
duplicateMovieClip(jt,jt+i,i); //复制一个jt,并命名为jt+i(既jt1),深度i。
setProperty(jt+i,_alpha,100); //把刚才复制出的jt+i的透明度设置为100,就是不透明阿。
因为是复制,所以也继承了原来元件实例的属性--透明度0。
不修改的话还是看不到。
setProperty(jt+i,_rotation,-jiao); //类似于上一个命令.不同的是修改的角度,减去了刚 才已经计算出的和鼠标的角度差.
FLASH AS中的角度和数学的不同,为逆时针为加.所有用-而不是+.

if(i=2){i=0}; //限制了复制的数量.
gotoAndPlay(1); //如果不使用此语句可能会有跳帧感觉. 整理一下, 直接复制就可以用了.
第一帧:
dy=jt._y-_ymouse;
dx=_xmouse-jt._x;
tan=function(y,x){
return Math.atan2(y,x)*180/Math.PI};
i=i+1; 第二帧:
jiao=int(tan(dy,dx));
duplicateMovieClip(jt,jt+i,i);
setProperty(jt+i,_alpha,100);
setProperty(jt+i,_rotation,-jiao)
if(i=2){i=0};
gotoAndPlay(1); 终于完成了,真不幸啊,刚才写到一半的时候突然停电……导致了……5555
行了,把“箭头”拖到主场景上,多拖上几个去也没有问题。因为所有的AS都写在元件中,没有写在ROOT里的,所以也可以用到其他的FLA文件中。
见笑了,这个效果的制作有很大的偷懒的嫌疑,也是不得以而为之,小弟实在是有点菜。
见笑。

点击浏览该文件 关键词:箭头

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号