设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

箭头跟随鼠标效果

来源:136z.Com 作者:佚名 时间:2005-06-22 00:01:39

昨天看了一个高手(反正都比我高)写的关于“梵天”网站上的始终指向鼠标的箭头的制作方法。可惜源文件是使用的Flash2004的我用的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){
returnMath.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);//类似于上一个命令.不同的是修改的角度,减去了刚才已经计算出的和鼠标的角度差.
FlashAS中的角度和数学的不同,为逆时针为加.所有用-而不是+.

if(i=2){i=0};//限制了复制的数量.
gotoAndPlay(1);//如果不使用此语句可能会有跳帧感觉.

整理一下,直接复制就可以用了.
第一帧:

dy=jt._y-_ymouse;
dx=_xmouse-jt._x;
tan=function(y,x){
returnMath.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文件中。
见笑了,这个效果的制作有很大的偷懒的嫌疑,也是不得以而为之,小弟实在是有点菜。
见笑。

点击浏览该文件

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: