RPG 游戏开发(16)文字系统 1
欢迎来到第五部分——文字系统。在这个部分,我们将会实现一个悬浮文字。大概说一下这个部分的学习内容:
- 对象池:这是一种设计模式,因为我们有多个文字需要显示,所以在每次显示一个文字都创建一个 Game Object 再销毁,对系统性能消耗挺高。所以我们将创建几个 Game Object,当需要显示文字的时候,就激活这个 Game Object 让它显示在屏幕上,否则就让它休眠。
文字系统需要比较多的逻辑:
- 需要显示的文字
- 被激活了没
- 显示在界面上的时长
- 显示在界面上的位置
- 有没有动画效果
- 字体颜色和字形
所以我们需要创建一个新的脚本,用于编写文字的逻辑代码。脚本名称为 FloatingText。这个脚本是专注于文字的逻辑类代码。
编辑代码,这次我们不需要继承 MonoBehavior 类。首先我们引用 UnityEngine.UI 命名空间(using 语句)。然后里边定义六个成员变量(变量用途我都写在代码注释了)。
然后我们定义两个函数,Show 和 Hide,Show 显示函数将 isActive 设置为 true,然后更新 lastShown 时间,最后再把该 gameObj 的激活状态设置为 isActive 的值。Hide 隐藏函数将 isActive 设置为 false,然后一样把 gameObj 的激活状态设置为 isActive 的值。
UpdateFloatingText 函数首先判断当前文字是否被激活(显示)没有的话直接跳过。否则就检测 当前时间 - 最后一次显示时间 是否大于 显示时长,是的话则隐藏该文字。最后再给文字加上动态效果。
using UnityEngine; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦甜怪圈 Xiaomai Circle!