鼠标跟随教程
作者:未知 来源:转载 发布时间:2005-8-13 21:18:38 发布人:acx
我是毛毛,我也是动画爱好者,教程有不对的地方还请见谅.
鼠标跟随的制作需要一个层,一个桢和一个影片影片剪辑.首先按[Crty+F8]新建
影片剪辑t,在舞台上创建动态文本框,大小能容下一个字符即可,并将其变量名定义
为"word",
在"库"面板中右击影片剪辑"t",在弹出的菜单中选择[链接]命令,打开"链接属性"
对话框,标识符为"t",勾选"为动作脚本导出"和"在第一帧导出".
切换到主场景,选中第一帧,在"动作"面板中编写如下代码.
lx=18;
my_str="大家好,我是毛毛!";
lenth=my_str.length;
for(i=0;i<lenth;i++){
_root.attachMovie("t","t"+i,i+1);
_root["t"+i].word=mbsubstring(my_str,i+1,1);
}
_root.onEnterFrame=function(){
delay=3;
_root.t0._x+=(_xmouse+lx-_root.t0._x)/delay;
_root.t0._y+=(_ymouse-_root.t0._y)/delay;
for(i=1;i<lenth;i++){
delay+=0.05;
_root["t"+i]._x+=(_root["t"+(i-1)]._x+lx-_root["t"+i]._x)/delay;
_root["t"+i]._y +=(_root["t"+(i-1)]._y-_root["t"+i]._y)/delay;
}
};
my_str="大家好,我是毛毛!";
lenth=my_str.length;
for(i=0;i<lenth;i++){
_root.attachMovie("t","t"+i,i+1);
_root["t"+i].word=mbsubstring(my_str,i+1,1);
}
_root.onEnterFrame=function(){
delay=3;
_root.t0._x+=(_xmouse+lx-_root.t0._x)/delay;
_root.t0._y+=(_ymouse-_root.t0._y)/delay;
for(i=1;i<lenth;i++){
delay+=0.05;
_root["t"+i]._x+=(_root["t"+(i-1)]._x+lx-_root["t"+i]._x)/delay;
_root["t"+i]._y +=(_root["t"+(i-1)]._y-_root["t"+i]._y)/delay;
}
};
设置字符间距lx和跟随字符串内容my_str,然后将此字符串变量的长度赋予变量lenth,再通
过for循环创建lenth个影片剪辑t的实例,再把字符串中的字符表逐个赋予这些影片剪辑实例
中的文本框变量.mbsubstring方法是截取字符串中的函数.
程序通过_root的onEnterFrame不断的检测鼠标位置的变化,从而控制跟随对象的位置.delay是
控制跟随时间的参数,值越小反应越快.接着首先设置影片剪辑实例t0的位置以一定的速度接近
鼠标,然后利用for循环控制后续影片剪辑实例逐渐接近相邻的前一个影片剪辑实例,这样就实现
了跟随效果.