flash东西跟着鼠标走(flash如何实现鼠标控制效果)

大家好,本篇文章为大家解答以上问题,相信很多人对flash东西跟着鼠标走都不是特别的了解,因此呢,今天就来为大家分享下关于flash东西跟着鼠标走以及flash如何实现鼠标控制效果的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来

大家好,本篇文章为大家解答以上问题,相信很多人对flash东西跟着鼠标走都不是特别的了解,因此呢,今天就来为大家分享下关于flash东西跟着鼠标走以及flash如何实现鼠标控制效果的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录一览

  • 1、实例教学Flash鼠标跟随教程:制作馋嘴的兔兔
  • 2、Flash好看的跟随鼠标的旋转星星

实例教学Flash鼠标跟随教程:制作馋嘴的兔兔

本例教朋友用Flash制作鼠标跟随效果。用鼠标拖动萝卜,兔兔眼睛总盯住萝卜,很可爱噢…
制作方法:
一、做三个元件
1、插入新元件,行为电影剪辑,命名为兔子。画出兔子的外形,也可以画其他动物,只是眼珠不画。如果要兔子耳朵、嘴巴、手动的话,要分层用逐帧改变形状。如图所示:
2、插入新元件,行为电影剪辑,命名为眼睛,确定,进入眼睛编辑窗口。在第一帧画一个跟兔子眼眶一样大小的、没有填充色的圆(这里是30*30),并让其全居中,在里面贴住圆的右边线再画一个没有线条的红色眼珠,然后把眼眶边线的透明度设为0。
新建一个层,选中第一帧,打开“动作-帧”面板,输入以下代码:
this.onMouseMove=function(){
;eyeX=_root._xmouse-this._x
;eyeY=_root._ymouse-this._y
;ang=Math.atan2(eyeY,eyeX)*180/Math.PI
;this._rotation=ang }
如图所示:
3、插入一个新元件,行为电影剪辑,命名为萝卜。画出萝卜,选中萝卜,让其居中。如图所示:
二、布置主场景:
新建三个层,由上到下命名为萝卜、眼珠、兔子、背景。
1、选中背景层的第一帧导入一幅你喜欢的背景图。
2、选中兔子层的第一帧,从库拖出拖出兔子MC,放在合适位置。
3、选中眼睛层的第一帧,从库里拖出两个眼睛MC,分别放在兔子的眼眶里。注意也是放在眼眶的右侧(两圆相切)位置。
4、选中萝卜层的第一帧,从库里拖出萝卜MC,放在树下。选中萝卜,并在电影剪辑属性面板命名为“lb”。打开“动作-电影剪辑”面板,输入如下代码:
onClipEvent(mouseMove){
;mouse.hide();
;startdrag(“_root.lb”,true); }
如图所示:
至此本实例完成,测试、存盘。

Flash好看的跟随鼠标的旋转星星

第一步:
打开FLASH,新建一个影片剪辑元件,命名为“星星”,在里面绘制一个星星出来,并且把它的中心点和舞台注册点对齐,在第20帧和第40处各插入一个关键帧。选中第20帧,在它的中心点和舞台的注册点对齐的情况下按住SHIFT键进行等比例缩小(你认为差不多就行了),然后选中第1到20帧的任意一帧创建补间动画,打开属性面板把它的转调成逆时针,选中第20到40帧的任意一帧创建补间动画,打开属性面板把它的转调成顺时针。
第二步:
在新建一个影片剪辑元件,命名为“转圈的星星”,在图层面板的地方找到“添加运动引导层”添加一个引导层出来,在选中该图层的情况下按住AIT+SHIFT键在舞台上绘制一个有边框无填充色的圆(大小你认为合适就OK),然后用鼠标圈住它的一点边选中后删除(这样做是给它一缺口),选中绘制好的圆,把它的左和上对齐舞台中心的注册点,选中第40帧处添加一个帧,锁定该图层,选择第一个图层把我们库中的星星拖进来并把它的中心点对齐引导层中圆的上边的那个缺口的地方,选中第四十帧插入一个关键帧把它的中心点对齐引导层中圆的下边的那个缺口的地方。回到舞台,把库中转圈的星星放到舞台任意位置,并给它一个实例名称mc。
第三步:
继续插入一个影片剪辑元件,命名为“as”,选中第一帧添加以下代码:
var k:Number=64;//用来定义星星的个数;
var n:Number=16;//用来定义一圈星星的个数;
var r:Number=2;X坐标和Y坐标的缓动,值越大跟随鼠标移动时就越慢;
for(var i=1;i=k;i++){
duplicateMovieClip(“_root.mc”,”mc”+i,i);
setProperty(“_root.mc”+i,_rotation,360/n*i);
setProperty(“_root.mc”+i,_alpha,100/k*i);
}
setProperty(_root.mc,_visible,0);
选中第二帧处插入一个空白关键帧添加以下代码:
for(var j=1;j=k;j++){
setProperty(“_root.mc”+j,_x,_root[“mc”+j]._x+(_root[“mc”+(j-1)]._x-_root[“mc”+j]._x)/r);
setProperty(“_root.mc”+j,_y,_root[“mc”+j]._y+(_root[“mc”+(j-1)]._y-_root[“mc”+j]._y)/r);
}
选中第三帧处插入一个空白关键帧添加以下代码:
gotoAndPlay(2);
添加完代码以后回到主场景;
第四步:
把库中名为as的元件拖放到舞台上,给它一个实例名称mc0.在主场景内添加一个图层在第一帧加上拖动代码:
startDrag(“_root.mc0”,true);
注意这里是mc0不是mc,虽然你拖动的影片里面没有东西,在下面我后细说的;
做到现在就算完工了,我在这里就把重点的地方说一下。N为什么是它的一圈星星的个数
在第一个for循环语句里有这样一段,
setProperty(“_root.mc”+i,_rotation,360/n*i);
看它的_rotation的值是360/n*i
也就是”_root.mc”+i,_rotation=360/16*i
也就是
_root.mc1._rotation=360/16*1
_root.mc2._rotation=360/16*2
_root.mc3._rotation=360/16*3
_root.mc4._rotation=360/16*4
_root.mc5._rotation=360/16*5
_root.mc6._rotation=360/16*6
_root.mc7._rotation=360/16*7
_root.mc8._rotation=360/16*8
_root.mc9._rotation=360/16*9
_root.mc10._rotation=360/16*10
………….._root.mc64._rotation=360/16*64
也就是说把360度平均分成16份,它们的角度就是这个值,360/16=22.5。
第一个MC的角度是从原MC角度22.5的地方开始 出来的,第二个MC的角度是从原MC角度45的地方开始 出来的,第三个MC的角度是从原MC角度67.5的地方开始 出来的,直到乘到17的时候就重叠了,因为360/16*6=382.5,角最大值是360,当到382.5的时候它就把360看成0来计算了,结果就是22.5,当你把N的值调大的时候,比如36它就会有36个星星围成一圈了,360/36*i 也就是mc1角度是10*1,mc2的角度是10*2 ,mc3的角度是10*3 当乘到37的时候它的角度多了10也就是370,第37个MC的角度会是原MC角度的370-360也就是10,这就是N的值等于一圈星星的原因。
我们在主场景第一帧里放的代码明明是拖动的MC0,为什么MC 出来的影片会跟着鼠标走,把在AS第二帧设置X、Y坐标的循环代码拿下来分析一下:
for(var j=1;j=k;j++){
setProperty(“_root.mc”+j,_x,_root[“mc”+j]._x+(_root[“mc”+(j-1)]._x-_root[“mc”+j]._x)/2);
setProperty(“_root.mc”+j,_y,_root[“mc”+j]._y+(_root[“mc”+(j-1)]._y-_root[“mc”+j]._y)/2);
}
看它的X坐标,
setProperty(“_root.mc”+j,_x,_root[“mc”+j]._x+(_root[“mc”+(j-1)]._x-_root[“mc”+j]._x)/2);
setProperty这句话是说设置括号内(目标,目标的属性,该属性的值);
我们现在的目标就是主场景上面的mc1,mc2,mc3,mc4,mc5……mc64;
它们的X坐标值各是多少,为什么会跟随鼠标移动,我们来仔细地看下它们的值
_root.mc+i._x_root[“mc”+j]._x+(_root[“mc”+(j-1)]._x-_root[“mc”+j]._x)/2
也就是
mc1._x=mc1._x+(mc+(j-1)._x-mc1._x)/2
假设mc1现在的坐标是300
也就是mc1._x=300+(mc+(j-1)._x-300)/2
现在我们已经得到两个数字了,还有一个mc+(j-1)._x,先算括号内,j-1第一次运行循环的时候j的值是1,就是1-1,也就是0;也就是mc+0,也就是mc0,也就是我们拖动的那个没有东西的影片剪辑。mc0是跟着我们的鼠标动的,上面搞清楚后,我们就在给mc0也就是我们鼠标的坐标假设一个值。随便设定一个我们就假设100吧,值有了我们在接着做算术。
mc1._x=300+(100-300)/2
也就是
mc1._x=300+负200/2
也就是
mc1._x=300+负100 //注意下负值是越乘负的越多,越除负的越少,加减相反
也就是
mc1._x=200;
当计算机运行到这里时,mc1的坐标是200了,但200还不符合我们所看到的效果,我们运行的时候是它的坐标是跟着鼠标走的,那么程序会接着往下走,它就会执行设定MC2的坐标了,MC2的坐标会是250,接着是MC3的坐标是275,总之是越往下它们坐标的间隔就会越小,你自己可以测试下看。
当循环完64次以后程序跳出循环了,那么就会TOGO到下一帧,执行gotoAndPlay(2);
又回来了,接着又是循环64次,代码还是相同的代码,不一样的是这次的坐标都是已经设置过的了,我们在看一下MC1现在的坐标是多少了,上次设置过后是200,那么现在是
mc1._x=200+(100-200)/2
也就是
150
这个坐标值会离鼠标越来越近的,直到和鼠标的坐标一样,那么相同后面的MC也一样会近,直到它们的坐标和鼠标相等为止,而且它们的坐标永远也不会小于鼠标的坐标。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 449@qq.com 举报,一经查实,本站将立刻删除。本文链接:https://www.hnhgjc.com/n/594364.html

(0)
jindon的头像jindon
上一篇 2023-08-07
下一篇 2023-08-07

相关推荐

  • 水培栀子花怎么养(水培栀子花怎么养家庭养法)

    大家好,今天本篇文章就来给大家分享水培栀子花怎么养,以及水培栀子花怎么养家庭养法对应的知识和见解,大家要耐心看完哦,希望对各位有所帮助,不要忘了收藏本站喔。1栀子花怎么水培养殖1、光照处理,光照处理是水培栀子花的养殖及注意事项的基本于要求

    2024-01-08
  • 鞋子晒黄了怎么变回来

    1、生态氧泡泡粉。先将泡泡粉用60-80度的热水溶解,溶解后等十分钟,加入少量的冷水让水温调成到30度左右,然后将鞋子放在里面浸泡40分钟左右,再用刷子将鞋子刷干净,晒黄部分被刷白后,再阴凉处晾晒。2、球鞋去氧化剂。首先要先将鞋子清洁一般,

    百科常识 2023-10-11
  • 寒食东风御柳斜的上一句是什么(豚栅鸡栖半掩扉上一句是什么)

    各位网友们好,相信很多人对寒食东风御柳斜的上一句是什么都不是特别的了解,因此呢,今天就来为大家分享下关于寒食东风御柳斜的上一句是什么以及豚栅鸡栖半掩扉上一句是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录

    2023-07-28
  • 徐州95号油价今日价格表(徐州95号汽油多少钱一升)

    大家好,相信到目前为止很多朋友对于徐州95号油价今日价格表和徐州95号汽油多少钱一升不太懂,不知道是什么意思?那么今天就由我来为大家分享徐州95号油价今日价格表相关的知识点,文章篇幅可能较长,大家耐心阅读,希望可以帮助到大家,下面一起来看看

    2024-01-27
  • 十大口碑最好的婴儿车(国产口碑好的婴儿车)

    各位网友们好,相信很多人对十大口碑最好的婴儿车都不是特别的了解,因此呢,今天就来为大家分享下关于十大口碑最好的婴儿车以及国产口碑好的婴儿车的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录一览1、婴儿车品牌排行榜

    2023-05-04

联系我们

qq:65401449

在线咨询: QQ交谈

邮件:65401449@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信