第六次作业

本篇介绍如何在3D游戏中应用Adapter模式,整合物理运动与运动学运动,以增强飞碟游戏的交互性和真实感。通过切换动力学与运动学动作管理器,实现飞碟抛物线运动与坐标变化的模拟。

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

编程题

改进飞碟(Hit UFO)游戏:

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

上次作业用到的代码文件:
Action:动作管理器
Controller:场景控制器
DiskData:飞碟数据
DiskFactory:管理飞碟的生产、销毁
Model:搭建基础场景
ScoreRecorder:记录分数
View:GUI界面的生成

在上次作业的基础上,分解了Action动作管理器——
ActionInterface:运动学/动力学动作管理器的共用代码部分
ActionManagerAdapter:提供两个动作管理器的切换
DynamicsAction:动力学动作管理器(通过给飞碟施加作用力来模拟飞碟作抛物线运动)
KinematicsAction:运动学动作管理器(通过改变飞碟坐标来模拟飞碟作抛物线运动)

除此以外,还要给预制的disk添加rigidbody组件,从而实现添加作用力的操作(还要在Collider组件中选上“is trigger”属性以避免两个飞碟发生碰撞)
在这里插入图片描述
在main camera中的Controller脚本里有个switch_phy的复选框,在两个动作管理器之间进行切换。
在这里插入图片描述
有关代码的细节请转至Github:
项目传送门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值