Unity3D网络实战笔记-第三章

文章介绍了在Unity中创建坦克游戏的逻辑,包括使用预制体生成对象,为炮弹设置飞行脚本,为敌人设置生命值、特效、碰撞检测及受伤接口。还讨论了准心实现的挑战,使用ScreenPointToRay方法进行屏幕点击检测,以及音效和伤害来源的设定。此外,文章提到了CharacterController的Move和SimpleMove方法在移动控制中的应用,以及解决因最小移动距离设置导致的构建问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

本章主要讲解了设置坦克和游戏基本逻辑的内容,其中部分内容是坦克游戏专有的内容,所以部分内容会被略过。

预制体与创建

代码创建预制体:

Instantiate(GameObject,Transform)

设置炮弹飞行脚本;

设置敌人

设置生命;

设置特效;

设置碰撞体;

设置受伤接口;

准心

准心在我设想的项目中难以添加,所以就整理了一下其中使用的知识点:

还有ScreenPointToRay 这个方法从屏幕点击处发射一条射线,一般用来检测点击到的物体;

总结:

在除了上述内容以外还有包括音效设置、伤害来源提示、绘制生命UI等内容,音效暂时没有素材进行添加,仅添加了脚步声音效。伤害来源想通过单例模式写在游戏管理器中,看到后续有相关内容就先放一下,UI使用简单替代。

最后是阶段展示:

补充:

使用了新的CharacterController来控制角色,并且修改了移动代码,搭建了简单的场景。

CharacterController为我们提供了两种移动方法:Move 和 SimpleMove,两者都需要一个Vector3类型的参数。

其中Move不会受到重力效果,需要重力可以把参数中的Y设为重力(比如-9.8),返回碰撞的信息。

SimpleMove会受到重力效果,参数中的Y可以不写,会有默认值,返回一个Bool值,是否在地面上。

在使用CharaterController的过程中,如果我将其中一个参数<最小移动距离>设置为大于0,则会在测试以及构建时出现请按移动就滑动很长一段距离的问题,将其更改为0之后解决,暂时不清楚造成这个问题的具体原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值