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

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)

谢谢观看

posted @   woodx  阅读(259)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示