[Unity3D]水族馆游戏教程五

本文详细介绍了在Unity3D中如何利用组合模式改进鱼类AI,包括转向控制器、移动控制器和动画控制器的实现。通过创建独立的控制类,实现了转向的随机性、移动速度的控制以及动画速度的动态调整,使游戏中的鱼儿游动更加自然。
摘要由CSDN通过智能技术生成

0.接上篇

上篇添加了鱼AI的速度控制器,本篇我们将继续丰富AI。

1.组合模式

得益于上篇的速度控制器,将速度控制从脚本中单独提出来,一方面,可以使得SpeedFlag只专注于处理速度,另一方面,FishAI代码的结构也清晰了很多。

此种方式,实际上是设计模式中,组合模式的应用。

组合模式中,将代码中,可以归为一类的功能都提出到一个单独的类里面,与调用者形成一个“has”的关系,即调用者“”一个xx类。

比如我们现在用的Unity3D,各种Component实际上就是组合模式。

一说到面向对象编程,我们首先想到的是继承。然而,在游戏开发中,如果乱用继承,会让代码变成一锅八宝粥…

继承的深度不要超过3,最好是一层继承就可以了;能用组合模式,就用组合模式,尽量不用继承。

因此,在之后的功能开发中,我们尽量使用组合模式,简化FishAI的代码逻辑。

2.转向控制器

上一篇中,鱼的转向特别生硬。我们为转向加一个随机,看看效果。

我们将对转向的控制都放到转向控制器RotateFlag.cs中。

1.创建转向控制

在Scripts文件夹下新建RotateFlag.cs脚本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

延澈左

小小心意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值