详解一导航动画的制作过程 |
| 作者:佚名 来源:闪吧 作者: zjs35 更新:2007-1-13 20:48:07 错误报告 我要投稿 |
这是偶制作东东的思路,怎样把一复杂动画简单化,再把它复杂化。大家多多指点!
最近一朋友叫偶写点东东,介绍一下下面导航条的制作原理 先来look一下这个导航条:/Upload/2004_Pack/da2.swf 当时这家伙说有源文件,谁知下不了,本想给它解释一下,现只好自己做一个了
思考:如这个问题是 你来回答的,你会怎么做? 这是偶的思路: 再复杂的动画也是由简单动画组成的,所以偶们要找找其中的规律,几个方块运动的规律:只有两次运动,一是往右减速运动,一是往左减速运动,所以可作一布尔值来控制,至于减速运动,tulipiing写了很多,所以可以开工了。
一、先解决运动问题 方块的每次运动都是朝一终点运动,所以先要确定两个终点,如下图建立一些东东
把方块的x坐标作为一终点,另一终点定为300,as如下: start_x=zjs1._x; end_x=300; 编写运动函数 MovieClip.prototype.move1=function() { this._x+=(end_x-this._x)/2; }//向终点end_x运动 MovieClip.prototype.move2=function() { this._x+=(start_x-this._x)/2; }//返回时的终点
二、调用函数 onenterframe=function() { if(click1){ zjs1.move1(); }//如是click1为真,调用move1,否则调用move2 else { zjs1.move2();
} if(click2){ zjs2.move1();
} else { zjs2.move2();
} }//click1控制方块1 的运动,click2控制方块2 的运动
三、鼠标点击时的设置 zjs1.onrelease=function(){ click1=true; click2=false; }//zjs1被点击后,设置布尔值 zjs2.onrelease=function(){ click1=false; click2=true; } 运行测试,怎么样? 大体的框架有了,写得该够简单了,你可能发现象这样的程序大家可能很少看到,原因是这程序有个很大的缺点,通用性不够,如果偶有更多的方块如20个,偶也这样一个个写吗??C
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |