爱你不要你 2008-10-7 14:40
Flash AS3.0教程: 跟随鼠标的星星
作者:taoshaw 来源:闪吧
有了上一个文本跟随鼠标效果的经验,这次做跟随鼠标的星星效果就不难了。主要就是一个对对象的复制。
[swf]http://www2.flash8.net/UploadTeach/200810/20081005165438688.swf[/swf]
1、新建一个影片剪辑元件"star"。注意哦,这里是影片剪辑哦,不是图形哦。
2、然后绘制一个星星图形。
[img]http://www.missyuan.net/upimg/allimg/081007/1438040.jpg[/img]
3、然后在第二帧修改星星颜色效果。
[img]http://www.missyuan.net/upimg/allimg/081007/1438041.jpg[/img]
[img]http://www.missyuan.net/upimg/allimg/081007/1438042.jpg[/img]
[img]http://www.missyuan.net/upimg/allimg/081007/1438043.jpg[/img]
4、然后打开库面板。在元件上击右键。做如下设置:
[img]http://www.missyuan.net/upimg/allimg/081007/1438044.jpg[/img]
5、在场景中,设置背景为黑色,再设置帧频为30。
6、添加AS:[code]//================版权声明开始================//
//★淘沙网:http://www.taoshaw.com
//★淘沙网所有教程欢迎转载。不过请转载时注明出处。谢谢合作。
//================版权声明结束================//
//设置文本的间距
var jianju:uint=50;
//设置移动速度
var speed:uint=2;
//复制影片剪辑
var mymc:star;
for(var i:int=0;i<6;i++){
//mymc=new star();
this["mymc"+i]=new star();
this["mymc"+i].x=100+jianju*i;
this["mymc"+i].y=100;
this["mymc"+i].gotoAndStop(Math.floor(Math.random()*5))
//在舞台显示。
addChild(this["mymc"+i])
}
addEventListener(Event.ENTER_FRAME,genshui);
function genshui(e:Event) {
//默认情况下第一个星星的位置为鼠标位置,此处35为鼠标的位置往右移动35/speed这么长。
this.mymc0.x+=(root.mouseX+35-this.mymc0.x)/speed;
this.mymc0.y+=(root.mouseY-this.mymc0.y)/speed;
//接下来,是最重要的部分,逐个计算后面完全符的位置,根据首个星星来计算
for(var i:uint=5;i>0;i--){
this["mymc"+i].x+=(this["mymc"+(i-1)].x+jianju-this["mymc"+i].x)/speed;
this["mymc"+i].y+=(this["mymc"+(i-1)].y-this["mymc"+i].y)/speed;
}
}[/code]OK,完毕。附上源码