作业要求:改进打飞碟游戏
游戏内容要求:
按下面adapter模式设计图修改飞碟游戏
使它同时支持物理运动与运动学(变换)运动
1. 物理引擎的改进版本思路与实现
由于游戏逻辑和界面都没有必要改变,物理引擎的引用就是关于飞碟运动的部分,所以仅仅需要对Action相关的类进行改进即可。
在原来的类的基础上,加上利用物理引擎的组件RigidBody进行物体的运动。
RigidBody主要用到以下功能:
自动添加重力,也就是勾选的Gravity(默认),也就是说不必思考如何向下加速的运动
AddForce的函数,给物体施加力。这里的目的主要是给物体一个初速度让其模拟飞碟被抛出的运动,所以这个力不必持续施加,只需在飞出的时候添加一段极小时间即可。所以选择使用ForceMode.Impulse这个模式,瞬间力,符合我们的目的。
至于物体碰撞旋转之类的,可以通过冻结某个轴的旋转来使飞碟更加稳定。
好,那么接下来,我们需要添加一个物理运动的类,