Flash制作空战游戏(2)
二、元件的制作 1.新建一个场景“场景1”,选择“修改”菜单的“文档”选项,在弹出的文档属性对话框中背景色修改为黑色,尺寸就用默认的550*400,帧频为50 fps。www.ad119.cn/bbs/attachments/websoft/20090301/20093114272048477801.jpg
2.建立一个影片剪辑(以下简称MC),命名为“plane”,这个影片剪辑是作为用来控制的战斗机的。在该影片剪辑中的第一帧中插入一个关键帧,在编辑区中画一个飞机图形,也可以插入一个飞机矢量图。第一帧的帧动作为“stop()”。在第二帧处插入空白关键帧,画上一个矩形,矩形要比战斗机小很多。然后在第六帧中插入空白关键帧,画一个爆炸图形,在属性面板设置第二帧到第六帧的补间动作为“形状”,第六帧的帧动作为“gotoAndPlay(1)”。 3.新建一个MC元件“fire”,第一帧是一个空白关键帧,第二帧插入一个关键帧,画一个椭圆作为“plane”发出的用来射击的炮弹,帧动作为“stop()”。 4.新建一个MC元件“bullet”,把“fire”剪辑拖入编辑区中央,剪辑名称为“fire”,帧动作“stop()”。该剪辑编辑好后,在影片库中会出现其选项,用鼠标右击“bullet”选项,在弹出的快捷菜单中选择“链接”,标识符为“laser”,并勾选“为动作脚本输出”。
www.ad119.cn/bbs/attachments/websoft/20090301/20093114272053177802.jpg
这是关键步骤,因为要用attachmovie调用库剪辑进行复制,如果没有这一步,attachmovie就无法中库中复制出剪辑,游戏运行时“plane”也将无法发出炮弹射击。然后在bullet剪辑中给“fire”设置动作代码: onClipEvent (load) { //载入时发生动作
n=_root.enemyNumber; //画面中的敌人飞机数量赋值给n
speed=10 //speed初始值为0
}
onClipEvent (enterFrame) { //进入帧时发生
Array()
for(i=0;i<n;i){
if(_root["new" i].ship1._currentframe==1){ //画面中的敌机是不是在其首帧
if(this.hitTest(_root["new" i])) //判断该剪辑是不是与画面中复制出的敌机交迭
{ _root.score =10 //如果交迭,生命值加10
_root["new" i].ship1.gotoAndPlay(2); //敌机爆炸
removeMovieClip (_parent) ;//从场景中删除剪辑
}
}
}
if (_parent._x<=550) { //如果x坐标小于550 ,x坐标加变量speed 的值
_parent._x= speed;
} else { //如果x坐标大于550,则删除剪辑
removeMovieClip (_parent);
}} 6.新建MC命名“explode”。在第一帧中画一个方形,然后在第五帧中插入空白关键帧,在该帧中用铅笔工具画一个爆炸图形,然后回到第一帧,在属性面板中设置该帧到第五帧的补间动作为“形状”。最后在第六帧插入一个空白关键帧,该帧设置命令“stop()”。如下图所示
www.ad119.cn/bbs/attachments/websoft/20090301/20093114272057877803.jpg
7.建立MC元件“enemyplane”。在第一帧中画一个敌人飞机,并在时间轴上设置命令“stop()”,在第二帧插入空白关键帧,将刚才的explode剪辑拖入enemyplane剪辑中原来飞机的位置,在时间轴第二帧也设置stop()。 8.新建MC元件“enemy”,将enemyplane元件拖入第一帧,剪辑名称为ship1,帧动作为stop()。 9.接下来该做敌人发出的炮弹了,新建MC元件“ball”,在编辑区画上一个椭圆,大小要合适,因为这是用做游戏中发出的炮弹的。 10.最后新建两个按钮元件,一个“start”,另一个是“exit”。
页:
[1]