指引按钮显示时,则判断当前是否有新手指引开启,并且根据当 前缓存的其他消息的优先级决定是否开启新手指引。如果当前其他优先级都低于某个值, 则直接开启新手指引。如果当前其他优先级有高于某个值,则继续缓存新手指引,等待下一 次完成高优先的服务端消息后再进行新手指引。
[0079] 当全局UI管理器发现服务端没有要进行新手指引即新手指引缓存池中没有新手 指引时,则按照原有的逻辑继续。
[0080] 当服务端通知现在需要关闭新手指引,则全局UI管理器直接通知新手指引UI管理 器关闭新手指引。
[0081] 优选地,在新手指引UI管理器,依据新手指引状态机生成的指引状态逻辑,对全局 UI管理器确定进行的新手指引进行指引处理之后,还包括:全局UI管理器获取来自服务端 的服务端消息和/或来自客户端的客户端消息的消息类型,其中,消息类型用于标识消息对 新手指引的打扰程度;全局UI管理器依据消息类型确定进行新手指引的进程。例如,全局UI 管理器依据消息类型确定进行新手指引的进程包括W下至少之一:在服务端消息和/或客 户端消息为中止新手指引的强消息的情况下,全局UI管理器确定中止新手指引;在服务端 消息和/或客户端消息为继续新手指引的弱消息的情况下,全局UI管理器确定继续新手指 引;在服务端消息和/或客户端消息为打断新手指引的中间消息的情况下,全局UI管理器确 定打断新手指引预定时间后,继续新手指引。采用上述处理,通过全局UI管理器来决定是否 对新手指引进行处理,体现了本实施例所采用的新手指引的全局性。
[0082] 在相关技术中,有些指引可能比较复杂,中间会夹杂跳转界面或者其他的东西。运 时候该指引就会被分解为好多个步骤,而每个步骤都有可能遇到不可预知的情况。例如,玩 家在进行添加好友的指引,添加好友可能分为下面几个步骤,第一步点击右下角的某个按 钮,第二步点击房间里的某个陌生人头像,第=步右键点击添加为好友,第四部提示玩家好 友已经添加完成。而如果该玩家在添加好友的过程中,该好友离线,运时候就会指引失败。 或者,在右键的过程中游戏断线等都会导致指引结束而失败。
[0083] 为了让游戏策划者能够更有效的控制,需要提供一个可编辑的工具来对指引任务 进行控制。运里就需要准确的知道按下指引的某个按钮会触发什么样的事件。由于游戏中 的UI控件太多,而每个控件的响应事件也是完全不一样的,所W需要在原有的UI编辑器上 设计出按下某个控件后的各种不同的响应。
[0084] 针对相关技术所存在的上述问题,在本实施例,新手指引系统是通过策划填表来 控制的。
[0085] 每个新手指引可W分为N步不同的步骤,每个步骤会有不同的UI图片。例如,研究 所升级指引是在玩家的等级升到30级后自动触发的。可W分为下面四个步骤,第一步需要 玩家点击研究所按钮,等到点下后会自动进入研究所界面,运时候需要指引的第二步,即指 引玩家选择升级天赋按钮,等到玩家点下升级天赋按钮后,系统会自动的指引玩家确认升 级天赋按钮。整个过程基本是一个线性的过程。
[0086] 在新手指引状态机对全局UI管理器确定进行的新手指引,生成新手指引所包括的 指引步骤之间的逻辑关系时,可W采用W下处理:新手指引状态机确定用于触发新手指引 中所包括的每一个指引步骤的本步骤触发条件,每一个指引步骤的状态显示,W及用于触 发每一个指引步骤对应的下一个步骤的下一步骤触发条件;依据本步骤触发条件,状态显 示,W及下一步骤触发条件,生成新手指引所包括的指引步骤之间的逻辑关系。
[0087] 举例说明如下:
[0088] 为了便于策划们对指引系统的控制,指引系统通过状态机来实现。首先需要一张 表来决定有多少个指引。如下表1所示。
[0090] 表1
[0091] 第二个表来控制每个指引相关的步骤,如上图研究所指引(假设是上面表里的指 引l),就可W分为下面的几个步骤。如下表2所示。
[0094] 每当服务端判断玩家的状态满足新手指引条件后,会触发一个新的指引,如上图 触发指引1即研究所指引。客户端接收到该信息后会通知全局UI管理器,全局UI管理器经过 权衡后,通知新手指引UI管理器生成新的指引。新手指引UI管理器会通过指引步骤表来生 成一个新的状态机。加载每一步新生成的UI控件,并记录当前的指引id。当玩家对指引控件 操作后,新手指引UI管理器会将事件通知给原有的UI控件,并且通知状态机进行状态切换。 运里会有一个提醒,如果原有UI控件对事件的反应失败或者游戏出错,如果再进行游戏指 引就会错上加错。所W在每一个新手指引步骤之前都会确保原有的对应UI控件是存在的。 如果不存在,则会通知服务端该指引现在不可W执行。
[0095] 在该新手指引状态机生成的新手指引所包括的指引步骤之间的逻辑关系之后,新 手指引UI管理器,依据新手指引状态机生成的新手指引所包括的指引步骤之间的逻辑关 系,对全局UI管理器确定对UI控件进行的新手指引进行指引处理可W采用W下处理方式: 新手指引UI管理器依据本步骤触发条件,触发对UI控件进行新手指引的指引步骤;新手指 引UI管理器显示触发的指引步骤对应的UI控件的显示状态;新手指引UI管理器依据下一步 触发条件,触发进入新手指引的指引步骤的下一步骤。优选地,新手指引UI管理器显示触发 的指引步骤对应的UI控件的显示状态包括:新手指引UI管理器生成用于屏蔽客户端对UI控 件进行操作的模态蒙板;新手指引UI管理器在模态蒙板上生成用于进行新手指引的新手指 引控件,其中,对新手指引控件的操作通过预定传递方式传递到UI控件,由UI控件执行操 作。
[0096] 下面说明上述处理方式。
[0097] 新手指引UI管理器主要用来动态的创建新手指引指示图,或者动态的删除新手指 引,或者根据玩家在指引中的点击或其他操作来决定下一步进入哪个状态。
[0098] 在相关技术中,由于新的指引系统是完全凌驾在原有游戏系统之上,运时候就需 要复用原有游戏系统中的模块。例如,点击了指引中的某个按钮,该按钮需要将消息传递给 原有游戏系统来让原有游戏系统来处理。比如,原来已经有了聊天系统,运时候有个指引, 指引玩家去添加好友,运时候就需要将指引中的消息事件传递给原有的好友系统处理了。
[0099] 由于原有游戏系统是一个即成的游戏系统,很难在原来的UI控件中增加新手指引 模块。在本实施例中所提供的可编辑的基于状态机的新手指引系统中,将新手指引系统分 为N个小的指引,而每个小的指引分为M个不同的步骤。每个小的步骤都对应一个模态蒙板 和X个小的UI控件。模态蒙板来隔离游戏中的UI控件,使得用户的输入信息被屏蔽掉,只能 点击或者选中模态蒙板上部的X个控件。X控件中的每个控件都可W被选中或者点击等等, 但是所有用户在该控件上的操作信息都不做任何处理,直接传递到模态底层的控件。如果 底层的控件有做处理,那么就表示该步骤的指引已经成功完成,接着状态机会决定指引进 行下一步的指引,W此重复知道最后一次指引完成。
[0100] 比如,如果有个新手指引来指导玩家进行添加好友,那么指引系统打开后,在点击 陌生人头像的过程中发现该步骤的消息未被底层处理,那么就表示指引失败,直接由状态 机决定是否放弃该指引。
[0101] 新手指引状态机有个全局监听器,来监听底层的所有需要监听UI消息变化,根据 优先级决定该UI消息是否被压入找中,是否被忽视,是否强制退出指引等。
[0102] 针对可W供游戏策划者编辑指引系统,系统里对所有需要被传递信息的控件进行 编号X,默认不需要对该控件进行编号,即为0。然后定义模态蒙板顶层的UI控件编号Y,每个 Y都会与原有的控件编号有个对应关系,即Y控件的所有消息都会被传递到X控件。
[0103] 即在原有界面上增加一个模态蒙板来擬除玩家的操作,即所有在该模态蒙板上的 操作都不会有任何的反应。而模态蒙板的上面会有几个新手指引控件,玩家在新手指引控 件上的操作会传递给原有游戏系统。运样一来,玩家就只能在策划们设定的地方操作,W此 来进行新手指引。
[0104] 例如,图6是根据本发明实施例的原有游戏系统的UI示意图,如图6所示,中间有1, 2,3,4运几个按钮,按下后会进入不同的界面。在全局UI管理器通知新手指引UI管理器开启 新的新手指引时。新手指引UI管理器会首先利用一个模态蒙板覆盖原有的系统。
[0105] 图7是根据本发明实施例的基于UI控件之上的模态蒙板的示意图,如图7所示,一 张略有透明的图片,该图片用来屏蔽来自用户的各种操作,即玩家在该图片上的任何操作 都不会有反应。
[0106] 由于模态蒙板是半透明的,所W玩家是可W看到原有游戏的各种UI界面,而且也 不影响原有游戏的各种逻辑。
[0107] 在模态蒙板的上层继续添加需要指引的东西,图8是根据本发明实施例的在模态 蒙板上添加新手指引控件的示意图,如图8所示,要指引玩家按下按钮1,那么就重新生成一 个新的按钮,该按钮和原有的按钮1 一模一样。并根据策划们的需求,在新生成的按钮1旁边 添加相应的其他指示性的图片来指引玩家操作。运时候玩家在新生成按钮1上的操作会通 过程序传递到原有按钮1上,原有的按钮1会响应事件,做出相应的反应。
[0108] 需要说明的是,图8所示的示意图其实包括=部分,图9是根据本发明实施例的对 图8的分解示意图,如图9所示,包括:原有控件1,模态蒙板,及新手指引控件1(外加特效,指 示箭头等运些先忽略,此时暂时只考虑控件1)。
[0109] 运里设及到一个自动化的问题,即怎样做出一个编辑器,让策划们可W编辑指引 的东西,而非写代码写死。那么就需要对原有的UI控件进行标示,表明哪个控件是要进行指 引的。如上图8所示的按钮1就需要标记,假设标记该按钮的id为1000。在新手指引UI管理器 里会记下该按钮的对象,通过另外一个表来控制id为1000对应生成的指引控件。另外一个 表3设计如下:
[0111] 表3
[0112] 每个新手指引的步骤可能由很多的图片,文字,特效等组成,所W需要一个资源 id,该id通过原有控件id(表中的1000)来在新手指引UI管理器中查找原有控件的属性。查 找到对应的原有控件后,在模态蒙板上方根据资源路径及相对偏移位置来生成新的控件。
[0113] 通过W上的实施方式的描述,本领域的技术人员可W清楚地了解到根据上述实施 例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可W通过硬件,但很多 情况下前者是更佳的实施方式。基于运样的理解,本发明的技术方案本质上或者说对现有 技术做出贡献的部分可W W软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用W使得一台终端设备(可W是手机,计算 机,服务端,或者网络设备等)执行本发明各个实施例的方法。
[0114] 在本实施例中还提供了一种指引处理系统装置,该装置用于实现上述实施例及优 选实施方式,已经进行过说明的不再寶述。如W下所使用的,术语