Unity面试技巧每日分享

红点系统改如何设计?
面试官你好,这个问题,我是这样来看的,红点系统我把它分为了两个部分,红点显示与红点数据管理。
先说关于红点显示,这个比较简单,主要考虑以下几个方面:
1: 方便有红点需求的地方,调用一个接口就可以把红点展示出来,所以我们会提供一个显示红点的接口,只要调用,就能在特定的位置显示红点;
2: 红点可能会有反复的创建与删除,这里我们根据游戏红点通常的规模,做一个红点节点池即可;
3: 红点的显示有对应的层级,我们会把红点单独的放一个层级,这样避免红点来打乱界面的合批,同时能让红点在一起渲染。
4: 提供一个接口,方便删除某个红点;

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

接下来说下关于红点的数据管理,

红点数据,不同的界面层级,有不同的红点数据,比如,一级界面的红点可能显示的是,任务,邮件,商城,奖励等。

而二级界面下面可能又有不同,比如奖励,下面就有未领取的奖励需要显示红点,而正式因为有未领取的奖励,所以一级界面"奖励"那里才有红点。

针对这样的特性,我们一般做一个红点树形结构的数据来维护处理。比如一级红点数据【任务,邮件,商城,奖励等】, 二级红点数据 比如,商城里面的

某个类型的某个新上架的商品。我们用树形结构来维护,当孩子有红点时,父亲也会有红点,父亲的父亲也会有红点。当孩子的红点清楚以后,我们还会去

判断父亲的红点是否应该被清除,这样我们就做好了红点提示功能。最后不同的游戏,数据与UI的展示层级不一样,这个可能要具体分析来设计数据结构。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值