9.24unity_lab1

9.24unity_lab1

  1. 基础游戏:https://gamemaker.weixin.qq.com/ide#/home/lbZThkOTU4YTItYjM4Ni00YWM0LTliOTEtODhmOWQ5NDdiOTJm

  2. 优化改进:https://gamemaker.weixin.qq.com/ide#/home/lbODFiNzM4MDUtYzE4Ny00NWQ0LWEzNzMt

  3. 文档:

    1. 场景以及物体

      关卡场景

      1. 小飞机

        • 当游戏结束时删除自己
          在这里插入图片描述

        • 接收到开始游戏的通知

          • 先**隐藏自己**
          • 除非游戏结束,否则**每隔0.5s克隆自己**
            在这里插入图片描述
        • 当出现核弹时

          总得分加1,并且替换为小飞机爆炸动画

          动画循环播放0.5s,之后**删除此克隆体**​
          在这里插入图片描述

        • 当离开下边缘时删除克隆体
          在这里插入图片描述 ​​

        • 当**作为克隆体启动时**

          将自己移动到随机位置(X坐标随机,Y坐标设置为900),并且显示

          然后**设置移动方向和移动距离**

          如果**碰撞到了战机子弹得分加1播放爆炸声音切换为战机爆炸动画,最后删除此克隆体**

          在这里插入图片描述

      2. 背景

        • 当场景切换到关卡时

          初始化变量:将gameover、得分、核弹数量、子弹模式都设置为0

          然后**通知所有人开始游戏**
          在这里插入图片描述

          ​​

        • 当**接受到开始游戏的通知**时

          在游戏开始时,对**变量进行初始化**,设置飞机的初始位置

          然后**播放游戏的背景音乐**

          构建了一个循环执行的逻辑,用于控制游戏元素飞机的移动

          通过条件判断逻辑,允许游戏元素在特定条件下改变其行为
          在这里插入图片描述

      3. 战机

        • 当**接收到游戏开始的通知**时

          初始化战机的位置(随机X坐标),替换战机贴图并且显示出来

          初始化子弹模式

          设置战机能够通过鼠标拖拽
          在这里插入图片描述

          ​​

        • 当**碰撞到侦察机子弹**时

          停止声音播放,切换子弹模式

          播放战机爆炸动画,播放游戏结束声音,设置为不可拖拽

          通知所有人游戏结束,将gameover​**设置为1**,并且切换场景为结束页面
          在这里插入图片描述

          ​​

        • 当**碰撞到BOSS子弹**时

          停止声音播放,切换子弹模式

          播放战机爆炸动画,播放游戏结束声音,设置为不可拖拽

          通知所有人游戏结束,将gameover​**设置为1**,并且切换场景为结束页面

          在这里插入图片描述
          ​​

        • **接收到空投**时

          按照对应空投的效果,播放对应的子弹声音切换为应的子弹模式以及设置持续时间
          在这里插入图片描述
          ​​

      4. BOSS

        • **碰撞到战机子弹**时

          碰撞到战机子弹时,将**生命值life减去1**

          当**生命值为0的时候,随机刷新空投**,播放对应声音和动画,最后删除该物体

          在这里插入图片描述
          ​​

        • **接收到gameover消息**时

          删除该克隆体
          在这里插入图片描述

          ​​

        • 当**克隆体启动**时

          初始化克隆体生命值life和位置,并且**一直发射boss子弹**(直到游戏结束)

          当BOSS碰撞到上、左、右边缘的时候则反弹,防止boss出界

          在这里插入图片描述
          ​​在这里插入图片描述

          ​​

        • 当**BOSS离开下边缘**的时候

          删除该克隆体

          在这里插入图片描述
          ​​

        • 当**接收到游戏开始的消息**时

          先隐藏BOSS, 然后**每隔20s后克隆生成boss**

          在这里插入图片描述
          ​​

      5. 侦察机

        • 当**接收到游戏开始的消息**时

          最开始隐藏自己,然后**等待固定时间持续克隆生成自己**

          gameover​为1,游戏结束时停止克隆

          在这里插入图片描述

        • 当**接收到gameover的消息**时

          删除该克隆体

          在这里插入图片描述
          ​​

        • 当**克隆体启动**时

          首先先**显示自己初始化生命值和位置**

          如果**碰撞到左、右边缘则反弹,防止出界,并且持续减少其y值**

          侦察机克隆时,发射子弹

          在这里插入图片描述
          ​​
          在这里插入图片描述

          ​​

        • 当**接收到核弹爆炸的消息**时

          将**所有总得分加5,并且切换为侦察机爆炸动画**

          然后**删除此克隆体**

          在这里插入图片描述
          ​​

        • 当**侦察机离开下边界**时

          删除此克隆体

          在这里插入图片描述
          ​​

        • 当侦察机碰撞到子弹时

          将自己的**生命值减1,并且销毁所有的子弹**

          如果生命值为0,则**随机刷新空投,并且播放侦察机爆炸动画以及对应的声音,最后删除此克隆体**
          在这里插入图片描述
          ​​

      6. 核弹和按钮浮层:

        1. 当核弹按钮被点击时

          如果核弹数量大于0,则**通知所有人核弹爆炸核弹数量减1并且播放相应的声音**
          在这里插入图片描述

          ​​

        2. 核弹数量

          用来显示核弹数量:当**接收到开始游戏核弹爆炸获得道具的消息时即时更新核弹数量**

          在这里插入图片描述

      7. 空投

        1. 双弹空投

          当**核弹爆炸时,删除此克隆体**

          当**收到开始游戏的消息时,隐藏自己**

          当**收到获得道具的消息时,隐藏自己**

          当作为克隆体启动时:将**自己的坐标设置为创建者的坐标开启物理引擎**
          在这里插入图片描述

          ​​

        2. 炸弹空投

          当**接收到获取道具的消息时,关闭物理引擎,然后先扩大尺寸,然后缩小尺寸模拟空投创建到空投消失),核弹数量加1,最后删除此克隆体**

          当**接收到开始游戏的消息时,隐藏自己**

          当**作为克隆体启动时,将自己的位置设置为创建者的位置开启物理引擎**

          当**接收到核弹启动的消息时,删除该克隆体**

          在这里插入图片描述

          在这里插入图片描述

      开始页场景

      在这里插入图片描述

      1. 开始游戏

        当被**点击时播放对应的声音,并且切换到关卡场景**

        在这里插入图片描述

      2. 飞机大战标题:显示作用,无事件

      3. 背景:显示作用,无事件

      结束页场景

      在这里插入图片描述

      1. 重新开始

        当**被点击时播放对应的声音,并且切换到关卡场景**

        当**该场景启动时将得分上传到排行榜,并且停止声音的播放**

        在这里插入图片描述

      2. 背景:无事件

      3. Game Over​:显示作用,无事件

    2. 项目介绍以及总结

      项目概述

      《飞机大战》是一款结合射击与生存元素的2D游戏,玩家控制战机在空中与敌机进行战斗,收集道具,使用核弹等策略来获得更高的得分。游戏通过多种机制和动态元素,提供紧张刺激的游戏体验。

      主要功能模块

      1. 场景与物体

      1.1 关卡场景
      • 描述:游戏的主要活动区域,包含玩家的战机、敌机(侦察机和BOSS)、背景和得分显示。

      • 功能

        • 初始化游戏变量(如得分、核弹数量、游戏结束状态)。
        • 通过逻辑控制游戏元素的生成与行为。
      1.2 小飞机(敌机)
      • 描述:敌机的表现形式,玩家需要击败以获得得分。

      • 功能

        • 碰撞检测:当碰撞到战机子弹时,得分加1并播放爆炸音效。
        • 当离开下边界时,删除自身克隆体。
      1.3 背景
      • 描述:游戏的视觉背景,增强游戏氛围。

      • 功能

        • 在场景切换时初始化变量(gameover、得分、核弹数量等)。

      2. 游戏元素

      2.1 战机
      • 描述:玩家控制的飞机,负责攻击敌机。

      • 功能

        • 初始化位置和状态,能够通过鼠标拖拽进行移动。
        • 碰撞处理:与敌机子弹或BOSS子弹碰撞时播放爆炸动画,停止游戏并切换到结束页面。
      2.2 核弹
      • 描述:强力道具,用于清除敌机并增加得分。

      • 功能

        • 核弹数量在游戏中动态更新。
        • 被点击时,如果数量大于0,通知所有人核弹爆炸,减少核弹数量并播放音效。
      2.3 空投
      • 类型

        • 双弹空投:当核弹爆炸时删除,获得道具时隐藏。
        • 炸弹空投:获取道具时增加核弹数量,模拟空投创建到消失的过程,最后删除自身。
      • 功能:提供额外的道具和增强玩家的战斗能力。

      3. 游戏逻辑

      3.1 得分系统
      • 描述:通过击败敌机和使用核弹获得得分。

      • 功能

        • 得分实时更新并显示在界面上。
        • 特定事件(如核弹爆炸)会增加得分。
      3.2 敌机生成
      • 描述:定时生成侦察机和BOSS。

      • 功能

        • 侦察机在游戏开始后每隔固定时间生成。
        • BOSS每20秒生成一次,发射子弹并与玩家战机进行互动。
      3.3 碰撞检测
      • 描述:检测战机与敌机、子弹之间的碰撞。

      • 功能

        • 碰撞到敌机子弹时,减少生命值并处理游戏结束逻辑。
        • 碰撞到战机时触发相应的动画和音效。

      4. 游戏结束处理

      • 描述:当战机被击毁时,处理游戏结束逻辑。

      • 功能

        • 播放游戏结束动画,停止游戏并切换到结束页面。
        • 上传得分到排行榜,停止背景音乐播放。

      5. 用户交互

      5.1 开始游戏
      • 描述:玩家点击开始按钮进入游戏。

      • 功能

        • 播放开始音效,初始化所有游戏变量并切换到关卡场景。
      5.2 重新开始
      • 描述:在结束页面点击重新开始按钮。

      • 功能

        • 播放音效并切换回关卡场景,重新初始化游戏状态。

      总结

      《飞机大战》项目通过良好的游戏设计和机制实现,提供了丰富的游戏体验。玩家在游戏中通过操作战机与敌机进行互动,利用道具和核弹策略性地提高得分。项目的成功实施依赖于场景设计、用户交互和游戏机制的整合。未来可以考虑增加更多的游戏元素、关卡和挑战,以提升游戏的可玩性和吸引力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值