主题:  用Flash制作游动的蛇——连载(3)

IT编辑

职务:普通成员
等级:6
金币:10.0
发贴:7769
#12002/7/2 13:06:01
1.回到主场景,双击Layer 1层,改名为“actions”。按快捷键Ctrl+L打开库,把影片“action”拖拽到该层中,这时我们会发现场景中多了一个白色的小圆圈。为影片“action”起个实体名为action,如图3。接着我们选中第300,550,800帧按下F6键。右键单击第1,300,550帧,选择Create Motion Tween命令。

图片如下:

图3
2.在“actions”层中右键单击第1帧,输入如下代码:
point = 0;            //初始化影片复制的参数为0
snake = 50;            //默认蛇的长度为50节
mpoints = snake;        //初始化文本框的值为50
右键单击第800帧,输入如下初始化代码:
gotoAndPlay(2);
3.单击Timeline面板里的Add Motion Guide按钮增加一个引导层。在该层里画一条好似汽车赛道的曲线。单击snap to object按钮打开吸附功能,然后把“actions”层中各关键帧中的“action”影片吸附在曲线上,位置如图4。注意:第1和第800帧的位置要错开一些,以保证蛇游动的流畅性。

图片如下:

图4
4.新建一层,命名为“Text”。在“Text”层里写下“请输入蛇的节数:”几个字,如图5,然后用Text工具在这几个字的右边拉出一个文本框。接着如图6设置这个文本框。这样,我们就把这个文本框设置成一个可输入变量的文本框,并把输入的变量起名为“mpoints”,借此来实现对蛇节数的控制。
5.把影片“snake”拖拽到场景中,给它起个实体名为head。
6.再新建一个“button”层。把你设计的那个“确定”按钮拖放到如图5的地方。右键单击这个按钮,输入如下代码:
on (release) {
point = 0;
while (Number(point) removeMovieClip("head" add point);
point = Number(point)+1;
}    //以上代码的作用是当“确定”按钮被按下的时候,删除原有的影片
snake = mpoints;    
//把输入进文本框的变量值赋给snake,使蛇长变为用户所设置的值
point = 0;    //该语句的作用是让影片从0从新开始复制
}
效果到这里就完成了。希望大家能活用这个例子做出更好的效果,比如用该例的方法结合影片复制函数实现一群蝌蚪的不规则游动。至于具体的实现方法就留给大家自己思考吧。

图片如下:


图片如下:

文章 柳叶吹风
qq:3549101



IT编辑

职务:普通成员
等级:6
金币:10.0
发贴:7769
#22002/7/2 13:20:57
源文件下载:http://vip.5dmedia.com/skyleaf/snake.fla
本例效果:http://vip.5dmedia.com/skyleaf/snake.swf