面试经典问题:如何设计红点系统?

该文章已生成可运行项目,

近期面试季又开始了,最近收到几个同学问的问题,如何设计一个红点系统,这个问题自己面试的时候回答不好,今天我们给出红点系统的架构与设计,并回答这个面试题。

1: 红点系统的需求分析

游戏开发中,随着功能越来越复杂,我们会有一些重点的提示,需要让玩家每天都了解与清楚,比如新触发的任务,未领取的奖励,商城中的特惠活动,有未读的系统消息,有新的装备可以穿戴上,达成可以升级条件,升级相关的角色与装备等需求。这部分我们通常依赖于红点来提示用户去处理。

玩家要处理的事务与信息,其实是根据UI界面来进行分层处理的,我们通常叫做:一级界面,二级界面,依此类推。每一级界面是否显示红点来源不一样,比如,"奖励"的红点,一级界面可能来自于"奖励中有未领取的",而二级界面的红点来自于"具体某个未领取的奖励"。当二级界面有"新增未领取的奖励"时,那么也会影响一级界面的"奖励"红点。

对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀

2: 给出红点系统架构的设计

针对上面的需求,我们将"红点系统"分成2个模块,来完成以上的需求设计。

1: 红点显示模块:

负责红点节点的创建,显示与删除。接口如下:

CreateRedPointAt(红点类型,红点父亲,。。。)

创建红点,并设置相关信息,返回红点Id。如果项目中有多种红点,可以在创建红点的时候加上类型。

SetRed

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值