码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-03-08 23:20:13      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:效率   表示   图标   实现   相对   建立   arp   依次   玩家   

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

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

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

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

完。

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

标签:效率   表示   图标   实现   相对   建立   arp   依次   玩家   

原文地址:https://blog.51cto.com/zhangzhao/2476304

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!