ARPG手游红点系统的一种实现方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARPG手游红点系统的一种实现方式相关的知识,希望对你有一定的参考价值。

红点系统的整体思想是:需要检测—纳入监测—检测完了移除。

  1. 主界面每个图标对应一个红点id。如果一个页面有分页,则每个页签也对应1个红点id。

  2. 建立一个红点管理器。每个红点id有一个状态和一个检测函数。当一个系统的数据有变化,需要检测一个红点状态的时候,把该红点id加到一个检测列表,每次检测完之后,将该红点id从列表移除。

  3. 红点的检测采用轮询机制。即在红点管理器里面启用一个秒定时器,每秒遍历上述的列表,依次调用每个红点id对应的检测函数,检测函数的返回值是一个bool值,表示是否显示红点。当红点id的检测函数返回值与红点id原本的状态不一致的时候,会发送一个事件出来。需要显示红点的界面也会监听红点事件以便刷新红点。
    这种轮询机制相对于反应机制(数据变化时,立刻检测红点),在应对玩家升级狂点的情况的时候,效率提升了n倍,因为玩家在1秒内狂点了几十次,也只会检测一次。

完。

以上是关于ARPG手游红点系统的一种实现方式的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发实战手把手教你在Unity中使用lua实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码)

游戏开发实战手把手教你在Unity中使用lua实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码)

Unity游戏开发中的树形结构——红点系统

Unity lua红点系统

ARPG手游实战练习

Unity之红点树系统多层级高效能