站内搜索:     
站点首页破釜学院网页制作Flash → 初级as源文件,从0开始学习教程总汇<7>
正在加载相关信息.....
Web 站内搜索
初级as源文件,从0开始学习教程总汇<7>
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2004-07-21 人气: 出处:启航
十四讲
点击浏览该文件
 点击开新窗口欣赏该FLASH动画![全屏欣赏]
/Upload/2004_Pack/20031014161736498.swf
 
      第十四讲:文字鼠标跟随
鼠标跟随的原理基本上是一样的,都是利用拖拽一个影片,跟随的部分通过被拖拽影片的坐标向它接近。(这个在做导航条的时候讲过影片怎么根据新位置移动的) 
制作文字的鼠标跟随分两部分: 
1.先复制一定影片,给文本加载不同的字符。 
2.让这些影片的位置按顺序排列,后面影片的位置根据前面的影片位置变化而变化。 
理论上是这样的,明白了原理我们看例题。下载文件打开: 

点击浏览该文件
第一步:新建一影片trail,放一个动态文本,命名tt.把影片拖入场景中,命名trail. 
第二步:新建影片control(这个影片我们写AS) 
第一帧: 
txt="http:\\\\www.4uup.com";//给变量赋字符串值,需要讲的地方是\\\\,简单的来说\是一种编译符号,\n,表示换行,\t跳格还有很多。所以要出现\,必须用\\来实现,如果还不明白请自己看资料。 
max=length(txt); //获取字符串的长度 
for(i=1;i<=max;i++){ //下面是复制影片并加载标记 
duplicateMovieClip(_root.trail,"trail" add i,i); 
set("_root.trail" add i add ".tt",substring(txt,i,1)); 

第一帧的作用就是字符串有几个字符就复制几个影片,并且每个影片显示一个不同的字符(不懂,请看加载标记那一讲); 
第二帧: 
for (i=1; i<=max; i++) { 
_root["trail" add i]._x = _root["trail" add i]._x+((_root["trail" add (i-1)]._x)-_root["trail" add i]._x)/3+3; 
_root["trail" add i]._y = _root["trail" add i]._y+(_root["trail" add (i-1)]._y-_root["trail" add i]._y)/3; 

这一帧是关键,影片的位置都是有上一个影片来决定。 
_root["trail" add i]._x = _root["trail" add i]._x+((_root["trail" add (i-1)]._x)-_root["trail" add i]._x)/3+3; 
去掉这个表达式最后面的“+3”;结合我们上次导航条学过的位置控制来看。 
_root["trail" add i]._x ;//当前影片的横坐标位置; 
_root["trail" add (i-1)]._x;//上个影片的位置; 
是不是当前影片不断向上个影片靠拢?+3如果没有它,当前影片靠拢后就和上个影片重合了,有了它,他们之间就有3个象素的距离。(最好还是用数学,就是带进去是数自己体会容易理解) 
如果能理解横坐标了,那么纵坐标也是一样的。 
忘记了,第一个影片的位置是有被拖动影片位置决定的。马上讲到。 
这个for循环一次就控制了所有的影片,所以玉兰的时候可以看到所有的影片都在动。 
第三帧: 
gotoAndPlay(2);//播放第二帧,也就是一直利用第二帧来调整位置。 
把这个影片也拖进场景中。 
第三步: 
新建影片trail0,拖进场景中命名为trail0;(trail0空影片,我们讲过) 
第四步:关键的一步,不然所有的工作全费:) 
在场景第一帧写上: 
startDrag(_root.trail0,true);//拖拽影片,锁定在鼠标中心 
_root.trail._visible=false;//使trail影片不可见 

呵呵,结束,效果怎么样?鼠标跟随原来是这么简单:) 
是不是发现,把学过的知识结合起来一样可以做出不错的效果来?多想多做,多动脑。 
下面看今天的作业:我不得又提起onClipEvent了,今天作业就是,把control影片里的代码,转化成用onClipEvent来完成。 
提示:复制影片用load事件 
控制位置不用说肯定是用……
明天是周末,我也可以出去轻松一下,祝大家周末愉快!

>>>> 进入论坛交流 <<<<