flash鼠标跟随实例教程_flash跟随鼠标转动的星星制作步骤

时间:2011-12-26 10:10:01  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:ad.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="302" width="489">
  正文:flash鼠标跟随实例教程_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的值等于一圈星星的原因。 "flash鼠标跟随实例教程_flash跟随鼠标转动的星星制作步骤"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Design/FLASH/19258.html

感谢q930的投稿


关于《flash鼠标跟随实例教程_flash跟随鼠标转动的星星制作步骤》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td