江西广告网
标题:
Flash制作空战游戏(二) (1)
[打印本页]
作者:
云开
时间:
2009-1-3 23:32
标题:
Flash制作空战游戏(二) (1)
二、元件的制作
1.新建一个场景“场景1”,选择“修改”菜单的“文档”选项,在弹出的文档属性对话框中背景色修改为黑色,尺寸就用默认的550*400,帧频为50 fps。
登录/注册后可看大图
2.建立一个影片剪辑(以下简称MC),命名为“plane”,这个影片剪辑是作为用来控制的战斗机的。在该影片剪辑中的第一帧中插入一个关键帧,在编辑区中画一个飞机图形,也可以插入一个飞机矢量图。第一帧的帧动作为“stop()”。在第二帧处插入空白关键帧,画上一个矩形,矩形要比战斗机小很多。然后在第六帧中插入空白关键帧,画一个爆炸图形,在属性面板设置第二帧到第六帧的补间动作为“形状”,第六帧的帧动作为“gotoAndPlay(1)”。 3.新建一个MC元件“fire”,第一帧是一个空白关键帧,第二帧插入一个关键帧,画一个椭圆作为“plane”发出的用来射击的炮弹,帧动作为“stop()”。 4.新建一个MC元件“bullet”,把“fire”剪辑拖入编辑区中央,剪辑名称为“fire”,帧动作“stop()”。该剪辑编辑好后,在影片库中会出现其选项,用鼠标右击“bullet”选项,在弹出的快捷菜单中选择“链接”,标识符为“laser”,并勾选“为动作脚本输出”。
登录/注册后可看大图
这是关键步骤,因为要用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()”。如下图所示
登录/注册后可看大图
7.建立MC元件“enemyplane”。在第一帧中画一个敌人飞机,并在时间轴上设置命令“stop()”,在第二帧插入空白关键帧,将刚才的explode剪辑拖入enemyplane剪辑中原来飞机的位置,在时间轴第二帧也设置stop()。
[color=red']
[/url] [url=/news/news001/flash/200510/20051016200611_2.html]
二、元件的制作
1.新建一个场景“场景1”,选择“修改”菜单的“文档”选项,在弹出的文档属性对话框中背景色修改为黑色,尺寸就用默认的550*400,帧频为50 fps。
登录/注册后可看大图
2.建立一个影片剪辑(以下简称MC),命名为“plane”,这个影片剪辑是作为用来控制的战斗机的。在该影片剪辑中的第一帧中插入一个关键帧,在编辑区中画一个飞机图形,也可以插入一个飞机矢量图。第一帧的帧动作为“stop()”。在第二帧处插入空白关键帧,画上一个矩形,矩形要比战斗机小很多。然后在第六帧中插入空白关键帧,画一个爆炸图形,在属性面板设置第二帧到第六帧的补间动作为“形状”,第六帧的帧动作为“gotoAndPlay(1)”。 3.新建一个MC元件“fire”,第一帧是一个空白关键帧,第二帧插入一个关键帧,画一个椭圆作为“plane”发出的用来射击的炮弹,帧动作为“stop()”。 4.新建一个MC元件“bullet”,把“fire”剪辑拖入编辑区中央,剪辑名称为“fire”,帧动作“stop()”。该剪辑编辑好后,在影片库中会出现其选项,用鼠标右击“bullet”选项,在弹出的快捷菜单中选择“链接”,标识符为“laser”,并勾选“为动作脚本输出”。
登录/注册后可看大图
这是关键步骤,因为要用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()”。如下图所示
登录/注册后可看大图
7.建立MC元件“enemyplane”。在第一帧中画一个敌人飞机,并在时间轴上设置命令“stop()”,在第二帧插入空白关键帧,将刚才的explode剪辑拖入enemyplane剪辑中原来飞机的位置,在时间轴第二帧也设置stop()。
[color=red']
[/url] [url=/news/news001/flash/200510/20051016200611_2.html]
8.新建MC元件“enemy”,将enemyplane元件拖入第一帧,剪辑名称为ship1,帧动作为stop()。 9.接下来该做敌人发出的炮弹了,新建MC元件“ball”,在编辑区画上一个椭圆,大小要合适,因为这是用做游戏中发出的炮弹的。 10.最后新建两个按钮元件,一个“start”,另一个是“exit”。
[/url] [url=/news/news001/flash/200510/20051016200611.html]
[color=red']
欢迎光临 江西广告网 (http://bbs.jxadw.com/)
Powered by Discuz! X3.2