一种技能实现的方法和系统

文档序号:576957 发布日期:2021-05-25 浏览:35次 >En<

阅读说明:本技术 一种技能实现的方法和系统 (Skill realization method and system ) 是由 周涛 于 2021-01-29 设计创作,主要内容包括:本申请涉及一种技能实现的方法和系统,其中,该技能实现方法包括:获取游戏对象的资源信息,基于资源信息对游戏对象创建分发器,其中,资源信息包括:第一技能、第二技能和触发事件;通过分发器在触发事件中注册第一技能的回调函数,在具备触发条件的情况下,将触发事件分发出去;在第二技能的接收端接收到触发事件的情况下,虚拟角色执行第二技能对应的指令;分发器调用回调函数并根据回调函数确定第一技能的触发效果。通过本申请,解决了相关技术中游戏实现过程过于复杂的问题,实现了将技能相关代码与触发事件代码解耦,简化了技能实现的过程。(The application relates to a skill implementation method and a system, wherein the skill implementation method comprises the following steps: acquiring resource information of a game object, and creating a distributor for the game object based on the resource information, wherein the resource information comprises: a first skill, a second skill, and a triggering event; registering a callback function of a first skill in a trigger event through a distributor, and distributing the trigger event under the condition of having a trigger condition; under the condition that a receiving end of the second skill receives a trigger event, the virtual character executes an instruction corresponding to the second skill; and the distributor calls a callback function and determines the trigger effect of the first skill according to the callback function. Through the method and the device, the problem that the game implementation process is too complex in the related technology is solved, the decoupling of the skill related codes and the trigger event codes is realized, and the skill implementation process is simplified.)

一种技能实现的方法和系统

技术领域

本申请涉及游戏开发设计技术领域,特别是涉及一种技能实现的方法和系统。

背景技术

技能是在角色扮演类以及多人在线战术竞技类游戏中常见的一种游戏机制,不同的游戏基于自己的游戏机制,都配置有不同的技能实现方法。

在相关技术中,技能实现的机制一般比较简单,通常采用硬编码的方式来技能实现触发,但是,在这个过程中,触发技能事件的代码和技能相关的代码耦合比较密切,两者之间的联系较多,调用起来不太方便,另外,也导致技能实现的过程过于复杂。

目前针对相关技术中技能实现的过程过于复杂的问题,尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种技能实现的方法、装置、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中技能实现的过程过于复杂的问题。

第一方面,本申请实施例提供了一种技能实现的方法,所述方法包括:

获取游戏对象的资源信息,基于所述资源信息对所述游戏对象创建分发器,其中,所述资源信息包括:第一技能、第二技能和触发事件;

通过所述分发器在所述触发事件中注册所述第一技能的回调函数,在具备触发条件的情况下,将所述触发事件分发出去;

在所述第二技能的接收端接收到所述触发事件的情况下,虚拟角色执行所述第二技能对应的指令;

所述分发器调用所述回调函数并根据所述回调函数确定所述第一技能的触发效果。

在其中一些实施例中,所述对于所述资源信息创建分发器之后,所述通过所述分发器在所述触发事件中注册所述第一技能的回调函数之前,所述方法还包括:

判断所述第一技能与所述触发事件是否存在关联信息;

在所述关联信息存在的情况下,所述分发器在所述触发事件中注册所述第一技能的所述回调函数;

在所述关联信息不存在的情况下,所述分发器不在所述触发事件中注册所述第一技能的回调函数。

在其中一些实施例中,所述指示所述虚拟角色执行所述第二技能对应的指令后,所述方法还包括:

所述分发器查找所述第一技能的回调函数;

在没有查找到所述第一技能的回调函数的情况下,所述客户端不对所述虚拟角色发出执行所述第一技能的指令。

在其中一些实施例中,所述分发器调用所述回调函数并根据所述回调函数确定所述第一技能的触发效果包括:

在所述回调函数中包括所述第一技能的触发信息的情况下,指示所述虚拟角色执行所述第一技能对应的指令;

在所述回调函数中不包括所述第一技能的触发信息的情况下,所述第一技能不被触发。

在其中一些实施例中,所述对于资源信息创建分发器后,所述方法还包括:

通过所述分发器在所述触发事件中注册调用对象后,在具备触发条件的情况下,将所述触发事件分发出去;

在所述第二技能的接收端接收到所述触发事件并释放后,通过所述分发器调用所述调用对象。

在其中一些实施例中,所述根据所述回调函数确定所述第一技能的触发效果之后,所述方法还包括:

通过配置界面接受配置需求,根据所述配置需求指示所述分发器取消对所述触发事件的所述回调函数和所述调用对象的注册。

第二方面,本申请实施例提供了一种技能实现的系统,所述系统包括:获取创建模块、分发模块和接收模块;

所述获取创建模块用于获取游戏对象的资源信息,基于所述资源信息对游戏对象创建分发器,其中,所述资源信息包括:第一技能、第二技能和触发事件;

所述分发模块用于通过所述分发器在所述触发事件中注册所述第一技能的回调函数,在具备触发条件的情况下,将所述触发事件分发出去,或者,

用于通过所述分发器调用所述回调函数并根据所述回调函数确定所述第一技能的触发效果;

所述接收模块用于在第二技能的接收端接收到所述触发事件的情况下,指示虚拟角色执行所述第二技能对应的指令。

在其中一些实施例中,所述获取创建模块还用于在所述对于所述资源信息创建分发器之后和所述通过所述分发器在所述触发事件中注册所述第一技能的回调函数之前,判断所述第一技能与所述触发事件是否存在关联信息;在所述关联信息存在的情况下,所述分发器在所述触发事件中注册所述第一技能的所述回调函数;在所述关联信息不存在的情况下,所述分发器不在所述触发事件中注册所述第一技能的所述回调函数。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种技能实现的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种技能实现的方法。

相比于相关技术,本申请实施例提供的一种技能实现的方法,通过事件分发将技能相关代码和触发事件代码进行解耦;具体包括:通过分发器在触发事件中注册第一技能的回调函数后,将触发事件分发出去;在第二技能的接收端接收到触发事件的情况下,指示虚拟角色执行第二技能对应的指令;同时,分发器调用回调函数并根据回调函数确定第一技能的触发效果。解决了相关技术中技能实现的过程过于复杂和不易调用的问题,将技能相关代码与触发事件代码解耦,简化了技能实现的过程。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种技能实现方法的应用环境示意图;

图2是根据本申请实施例的一种技能实现方法的流程图;

图3是根据本申请实施例的一种技能实现系统的结构框图;

图4是根据本申请实施例的电子设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

本申请提供的一种技能实现的方法,可以应用于如图1所示的应用环境中,图1是根据本申请实施例的一种技能实现方法的应用环境示意图,如图1所示,终端10与服务器11通过网络进行通信,终端10将游戏客户端产生的数据上传至服务器11,同时,服务器11获取来自其他终端10的数据;另外,终端10上安装有运行本实施例的用于技能实现的应用。用户可以在通过终端10上的如触摸屏、实体按键以及键盘鼠标等外部设备,对应用中的虚拟游戏角色进行信息交互,比如释放技能、释放奥义和实体角色移动等。通过本实施例,可以将技能实现过程中的技能代码部分和触发事件代码部分解耦,从而简化技能实现的过程。进一步的,终端10可以是智能手机、平板电脑、台式电脑、笔记本电脑和智能可穿戴设备。服务器11可以是独立的服务器或者是多个服务器组成的服务器集群。

本申请提供了一种技能实现的方法,图2是根据本申请实施例的一种技能实现方法的流程图,如图2所示,该流程包括如下步骤:

步骤S201,获取游戏对象的资源信息,基于资源信息对游戏对象创建分发器,其中,资源信息包括:第一技能、第二技能和触发事件;其中,获取第一技能和第二技能可以通过直接读取本地内存中获取,也可以通过网络获取。第一技能和第二技能是被游戏系统执行的一系列游戏事件,在满足一定的前提条件下,游戏事件可以在在游戏场景中指示游戏角色触发特定的效果,该种效果可以是游戏角色的位移、控制和增益等效果的一个或多个的结合。进一步的,触发事件可以是该前提条件的一种;可以理解,在游戏程序运行过程中,当某个技能的接收端到接收到对应的触发事件时,该技能被触发或被释放,同时触发特定的效果。再进一步的,当该种特定的效果被触发后,则该技能被释放;

步骤S202,通过分发器在触发事件中注册第一技能的回调函数后,将触发事件分发出去;在本实施例中,分发器是根据实际需求定义,其具体的实现步骤对于本实施例并无核心影响,故对比不做赘述;需要说明的是,在执行该步骤前,首先需要判断第一技能与触发事件是否存在关联信息;进一步的,在关联信息存在的情况下,分发器在触发事件中注册第一技能的回调函数;在关联信息不存在的情况下,分发器不在触发事件中注册第一技能的回调函数;

步骤S203,在第二技能的接收端接收到触发事件的情况下,指示虚拟角色执行第二技能对应的指令;可选的,第一技能和第二技能都包含独立的代码部分,其中,接收端用于接收诸如触发事件这类的信息;进一步的,在接收到触发事件第二技能被释放后,该虚拟角色被指示执行第二技能中包含的指令,例如,该第二技能的技能描述为在虚拟地图中进行一段预设距离的位移或者提升自身的移动速度并进行一次强化版的普通攻击,对应的,虚拟角色在游戏场景呈现对应的动作状态;

步骤S204,分发器调用回调函数并根据回调函数确定第一技能的触发效果;需要说明的是,在步骤S201中描述了通过查找关联信息来确定是否对触发事件注册第一技能的回调函数,对应的,在此处则通过调用回调函数并根据回调函数来判断是否触发第一技能。可以理解,在能够查找到该回调函数的情况下,第一技能被触发;在没有查找到该回调函数,也就是步骤S201中没有对触发事件注册第一技能的回调函数时,第一技能不被触发。

通过上述步骤S201至S204,相比较于相关技术中通过硬编码的方式实现技能的方法,本实施例通过分发器在对第一技能的触发事件注册回调函数,在游戏中,在具备触发条件的情况下,通过分发器将触发事件分发出去,第二技能接收触发事件后被释放,最后再通过回调函数判断第一技能的触发效果。解决了相关技术中技能代码和触发事件代码相互耦合,导致技能实现过程过于复杂的问题。举例来说,相关技术中,第一技能的触发事件,需要触发玩家角色持有的另外一个技能即第二技能,在这种情况下,第一技能必须首先获取到玩家角色这个对象,再通过玩家角色去触发第二技能,那么第一技能、第二技能和触发事件之间存在耦合,导致技能实现的过程较为复杂。在本实施例中,通过分发器将触发事件和具体技能解耦,在技能触发过程中,并不需要知道具体的技能,只要通过分发器将触发事件分发出去,具体是否触发则根据注册到第一技能的回调函数决定。

在一个实施例中,在资源信息创建分发器之后,通过分发器在触发事件中注册第一技能的回调函数之前,判断第一技能与触发事件是否存在关联信息;在关联信息存在的情况下,分发器在触发事件中注册第一技能的回调函数;在关联信息不存在的情况下,分发器不在触发事件中注册第一技能的回调函数。

在一个实施例中,在指示虚拟角色执行第二技能对应的指令后,可以根据能否查找到第一技能的回调函数判断是否触发该第一技能。其中,分发器查找第一技能的回调函数;在没有查找到第一技能的回调函数的情况下,分发器不对客户端发出触发第一技能的信息。

在一个实施例中,还可以根据回调函数的具体内容判断是否触发第一技能。其中,分发器调用回调函数并根据回调函数确定第一技能的触发效果包括:在回调函数中包括第一技能的触发信息的情况下,客户端指示虚拟角色执行第一技能对应的指令;在回调函数中不包括第一技能的触发信息的情况下,第一技能不被触发。

在一个实施例中,对于资源信息创建分发器后,还可以通过分发器在触发事件中注册调用对象,并将触发事件分发出去;在第二技能的接收端接收到触发事件并释放后,通过分发器调用该调用对象。可选的,客户端通过配置界面接受配置需求,根据配置需求指示分发器取消对触发事件的回调函数和调用对象的注册。

需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本实施例还提供了一种技能实现系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本申请实施例的一种技能实现系统的结构框图,如图3所示,该系统包括获取创建模块31、分发模块32和接收模块33;

获取创建模块31用于获取游戏对象的资源信息,基于资源信息对游戏对象创建分发器,其中,资源信息包括:第一技能、第二技能和触发事件;

分发模块32用于通过分发器在触发事件中注册第一技能的回调函数,在具备触发条件的情况下,将触发事件分发出去,或者,

用于通过分发器调用回调函数并根据回调函数确定第一技能的触发效果;

接收模块33用于在第二技能的接收端接收到触发事件的情况下,指示虚拟角色执行第二技能对应的指令。

在一个实施例中,获取创建模块31还用于在对于资源信息创建分发器之后和通过分发器在触发事件中注册第一技能的回调函数之前,判断第一技能与触发事件是否存在关联信息;在关联信息存在的情况下,分发器在触发事件中注册第一技能的回调函数;在关联信息不存在的情况下,分发器不在触发事件中注册第一技能的回调函数。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种技能实现的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

在一个实施例中,图4是根据本申请实施例的电子设备的内部结构示意图,如图4所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种技能实现的方法。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:降低手机游戏首包的方法、装置及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类