设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

Flash制作空战游戏(2)

来源:136z.Com 作者:佚名 时间:2004-07-16 22:52:54
二、元件的制作

  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      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()。

  8.新建MC元件“enemy”,将enemyplane元件拖入第一帧,剪辑名称为ship1,帧动作为stop()。

  9.接下来该做敌人发出的炮弹了,新建MC元件“ball”,在编辑区画上一个椭圆,大小要合适,因为这是用做游戏中发出的炮弹的。

  10.最后新建两个按钮元件,一个“start”,另一个是“exit”。

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: