首页 > 编程语言 > 详细

Unity3d实现鼠标打飞碟(Hit UFO)游戏(力学版)

时间:2020-11-10 19:52:30      阅读:32      评论:0      收藏:0      [点我收藏+]

1、改进飞碟(Hit UFO)游戏:

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

运行效果:

技术分享图片

 

 

这一版与上一版的操作类似,但是多了一些改进,上一版请参考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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!