前段时间很流行"韩国效果"的flash导航菜单,现在也好多人用,效果的确是不错,但仔细研究起来,也不过就一个技术的应用,那就是鼠标缓冲,上网搜索了一下,关于as中实现鼠标缓冲的文章很少,有很多高手倒是能做出来,但是都没有教程,可能是太忙了吧.
回家研究了一下,其实也很简单,看看效果先吧:
Flash 动画:
那个星星没有随鼠标的移动而移动,而是随鼠标的轨迹移动,星星跟鼠标之间形成了一个缓冲距离,这个就叫做鼠标缓冲.
图片如下:

来看看是怎么实现的.
在某一个瞬间,mc跟鼠标的关系如上图.mc跟鼠标的x方向位移可以用as求出来:disx=_xmouse-a._x,y方向位移同理:disy=_ymouse-a._y.此时,mc要做的是去跟随鼠标,换句话就是"让mc离鼠标越来越近",翻译成程序语言就是:
a._x+=(_xmouse-a._x)/5;//x方向上让mc一步靠近鼠标与mc距离的1/5.
a._y+=(_ymouse-b._y)/5;//y方向上让mc一步靠近鼠标与mc距离的1/5.
这只是一步的代码,我们要mc动起来,就要这代码连续运作,下面是完整的代码:
this.onEnterFrame=function(){
a._x+=(_xmouse-a._x)/5;//x方向上让mc一步靠近鼠标与mc距离的1/5.
a._y+=(_ymouse-b._y)/5;//y方向上让mc一步靠近鼠标与mc距离的1/5.
}
这样就实现了鼠标缓冲,这个仅仅是针对位置而言的,同理可以用到透明度,大小上面,可以做成透明度缓冲,大小缓冲等,和平面技术结合可以做出很眩的效果.
贴个闪吧ekevin朋友的作品:
Flash 动画:
当中还用了鼠标感应技术.关于鼠标感应就下次再聊了.
回家研究了一下,其实也很简单,看看效果先吧:
Flash 动画:
那个星星没有随鼠标的移动而移动,而是随鼠标的轨迹移动,星星跟鼠标之间形成了一个缓冲距离,这个就叫做鼠标缓冲.
图片如下:

来看看是怎么实现的.
在某一个瞬间,mc跟鼠标的关系如上图.mc跟鼠标的x方向位移可以用as求出来:disx=_xmouse-a._x,y方向位移同理:disy=_ymouse-a._y.此时,mc要做的是去跟随鼠标,换句话就是"让mc离鼠标越来越近",翻译成程序语言就是:
a._x+=(_xmouse-a._x)/5;//x方向上让mc一步靠近鼠标与mc距离的1/5.
a._y+=(_ymouse-b._y)/5;//y方向上让mc一步靠近鼠标与mc距离的1/5.
这只是一步的代码,我们要mc动起来,就要这代码连续运作,下面是完整的代码:
this.onEnterFrame=function(){
a._x+=(_xmouse-a._x)/5;//x方向上让mc一步靠近鼠标与mc距离的1/5.
a._y+=(_ymouse-b._y)/5;//y方向上让mc一步靠近鼠标与mc距离的1/5.
}
这样就实现了鼠标缓冲,这个仅仅是针对位置而言的,同理可以用到透明度,大小上面,可以做成透明度缓冲,大小缓冲等,和平面技术结合可以做出很眩的效果.
贴个闪吧ekevin朋友的作品:
Flash 动画:
当中还用了鼠标感应技术.关于鼠标感应就下次再聊了.
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}