红点系统是一个比较让人讨厌的系统,至少对于游戏开发人员来说,是的。因为涉及的地方多,层次深,逻辑判定复杂,表现多样,有的需要服务器判定,有的需要客户端判定,所以处理起来十分麻烦。
经历过的几个项目,都因为前期没有针对红点系统做整体规划,所以后期就栽在红点的需求和表现上,有3-4套红点系统并行,重构了1次仍然不能从根本上解决,但总的来说已经好很多了。
如上图所示,规划红点系统的时候,我们将整个系统分为独立的三个部分:结构层、驱动层和表现层。
结构层用来部署红点的层级结构,做过红点系统的都知道,很多时候红点系统的层级都很深,所以我们要用一个结构来描述层级,这个就是我们今天的主题,树结构。
驱动层是指,如何驱动这个树结构产生状态变化,以及状态变化之后如何将变化的行为通知到指定的表现层,在一定的程度上将数据和表现分离开。
表现层就专门承担表现的职责,比如有的红点就是一个单纯的红点,有的需要显示数字,有的可能是图标晃动,有的是显示new标签,有的是播放特效等等。这些都可以归属在表现层统一去管控。
红点系统管理类
红点物体
红点数据类型---基类
未读邮件红点判断逻辑 --- 系统红点
未读邮件红点判断逻辑--- 玩家红点
红点类型的枚举
邮件系统管理类
网络问题。根据《我的世界》游戏攻略可知,《我的世界》服务器延迟红点是因为网络问题导致的,《我的世界》原版名称为“Minecraft”,由MojangStudios游戏工作室自研发行。你点下鼠标右键,就会出现一个圈,中间有个红点,当红点瞄到人时,就可以点左键打人了。
《穿越火线》(Cross Fire,简称CF)是一款第一人称射击游戏的网络游戏,玩家扮演控制一名持枪战斗人员,与其他玩家进行械斗。本游戏由韩国Smile Gate开发,在韩国由Neowiz发行,其他国家的发行商需要与Neowiz来和开发商进行商议。该游戏在中国大陆由腾讯公司运营游戏服务器在韩国。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)