3D游戏编程与设计作业六

改进飞碟(Hit UFO)游戏

  • 游戏内容要求:
    1. 按 adapter模式设计图修改飞碟游戏
    2. 使它同时支持物理运动与运动学(变换)运动
改进内容
  • adapter模式

    1. 概念简述:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。
    2. 分类:类适配者模式和对象的适配者模式
    3. 运用分析:在本游戏实例中,由于我们想要继续沿用上次的基础版ActionManager,并且新增一个管理物理运动的PhysicsActionManager,这时在FirstControl里就需要同时有两个变量分别指向这两个动作管理器了。而这样会造成FirstControl需要管理多个功能相同或类似的组件,如果未来还想加多几个动作管理器,就会显得越来越臃肿,可扩展性很差。所以我们希望FirstControl里只保留一个可扩展的变量,这里就用到了adapter模式。
    4. UML图(盗用)及其解释说明
      在这里插入图片描述
      对动作管理运用类适配者模式,在原有的运动学适配器CCActionManager的基础上增加物理运动适配器PhysiscActionManager。由于适配器模式的多态的设计要用到接口,所以这两个适配器实现了同一接口ActionManager。 ActionManager提供了一个简单动作方法,用于执行抛出飞碟的动作。
  • 代码实现
    简单来说,上次作业实现的动作是运动学的运动,而这次新增的是物理学的运动。主要新增和更改的内容有:

    1. PhysiscActionManager
      PhysiscActionManager与CCActionManager的不同仅仅在于将Update改成FixedUpdate
      在这里插入图片描述

    2. 由于PhysiscActionManager要用到FixedUpdate方法,所以要对SSAction、SSActionManager添加FixedUpdate,方法与Update相同,除了把其中包含的Update换成FixedUpdate。
      SSAction
      在这里插入图片描述
      SSActionManager
      在这里插入图片描述

    3. UserGUI新增一个控制模式转换的按钮
      在这里插入图片描述

演示视频
代码传送门

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值