1、改进飞碟(Hit UFO)游戏:
运行效果:
这一版与上一版的操作类似,但是多了一些改进,上一版请参考https://www.cnblogs.com/woodx/p/13910518.html
改进
1,增加了关卡模式,round1有五架飞碟,round2有六架飞碟,以此类推,随着关卡的升高,飞碟的速度也会增加
2,飞碟变成了刚体,飞碟之间可能发生碰撞导致飞行轨迹发生变化、飞碟倾斜等等时间的发生,而且当从较高处的飞碟掉落击中较低处的飞碟时,低处的飞碟也可能被击落(并且获得较高的分数)。
代码细节变化:
由于刚体的运行轨迹,用力来操控的话,运行轨迹十分难以确定
所以为了保持代码的重用性,我在飞碟到达每个目的点后,对飞碟取消了力和速度的办法
obj.GetComponent<Rigidbody>().isKinematic = true;
作用:在Unity中,isKinematic结合Gravity使用,能使物体瞬间在有无动力效果中切换
当飞碟处于闲置状态时,也将飞碟的isKinematic设置为True
把它放在摄像头的后面
最重要的改动在CCMoveToAction.cs
判断位置由原来判断准确位置,变成了判断z轴位置,当飞碟被击落的时候,判断y轴位置,从而判断坠落完毕
加上了碰撞函数,在UFOcontroller.cs中
当碰撞飞碟之间,相对速度大于100时,可以判断为被坠落飞碟击中,然后下降。
还有就是在First Controller.cs Update中,改动了产生飞碟的函数
飞碟数量根据分数而定,如果分数每增加一千分,会增加一个飞碟
具体代码请参考我的gitee
https://gitee.com/woodx9/unity-3D-homework/tree/master/HItUFO(force%20version)
谢谢观看
Unity3d实现鼠标打飞碟(Hit UFO)游戏(力学版)
原文:https://www.cnblogs.com/woodx/p/13954206.html