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:
项目传送门
本篇介绍如何在3D游戏中应用Adapter模式,整合物理运动与运动学运动,以增强飞碟游戏的交互性和真实感。通过切换动力学与运动学动作管理器,实现飞碟抛物线运动与坐标变化的模拟。
1984

被折叠的 条评论
为什么被折叠?



