事件处理方法及装置与流程

专利2022-05-09  89


本申请涉及计算机技术领域,特别涉及事件处理方法及装置、计算设备和计算机可读存储介质。



背景技术:

随着互联网技术的发展,游戏场景的复杂度越来越高,因此,游戏场景中涉及的游戏对象(比如玩家、玩家坐骑等)的游戏事件(比如技能特效、玩家血量恢复等)的也越来越多样,而各种游戏事件的触发条件也是多种多样的,目前为了保障游戏对象的游戏事件被顺利执行,通常是每隔一段时间,检测该游戏对象的所有属性信息,以确定是否满足执行的游戏事件的执行条件,但这种情况下,需要每隔一段时间判断所有的执行条件,大大增加了中央处理器的空跑判断的次数,因此,需要提供更有效率的事件处理方案。



技术实现要素:

有鉴于此,本申请实施例提供了事件处理方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。

根据本申请实施例的第一方面,提供了一种事件处理方法,包括:

在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;

若是,确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系。

根据本申请实施例的第二方面,提供了一种事件处理装置,包括:

判断模块,被配置为在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;

若是,运行确定模块,所述确定模块,被配置为确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系。

根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述事件处理方法的步骤。

根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现所述事件处理方法的步骤。

本申请实施例提供的事件处理方法,通过在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;若是,确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系,实现了将目标属性信息的变更情况作为预设事件触发条件,并基于预设触发条件进行事件处理,大大减少了空跑判断的次数。

附图说明

图1是本申请实施例提供的计算设备的结构框图;

图2是本申请实施例提供的事件处理方法的流程图;

图3是本申请实施例提供的事件处理方法中链表的示意图;

图4是本申请实施例提供的事件处理装置的结构示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。

首先,对本发明一个或多个实施例涉及的名词术语进行解释。

时间轮:可以理解为一个具有时间长度的环形队列,该环形队列中的每个元素对应一个单位时间区间,具体的,该单位时间区间的时间单位可以按照实际场景自行定义,在此不做限制。

在本申请中,提供了事件处理方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。

图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。

计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802。11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。

在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。

其中,处理器120可以执行图2所示的事件处理方法中的步骤。图2示出了根据本申请一实施例的事件处理方法的流程图,具体包括以下步骤:

步骤202:在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件。

具体的,所述待处理对象,可以理解为业务、游戏、游戏里的玩家、非玩家角色(non-playercharacter,npc)、玩家坐骑等,在此不做限制,相应的,待处理对象的属性信息,可以理解为待处理对象相关的信息,比如业务信息(比如业务金额、业务客户量等)、游戏信息(比如天气信息、时间信息等)、玩家信息(比如玩家的气力值、血量等)、npc信息(比如npc的位置)、玩家坐骑信息(比如玩家坐骑的饱食度)等,进一步的,目标属性信息可以理解为属性信息中用以触发事件的信息。

实际应用中,待处理对象的目标属性信息是可以变更的,而这些目标属性信息的变更可能触发针对待处理对象的事件处理,因此,在目标属性信息产生变更的情况下,需要判断变更后的目标属性信息是否满足针对待处理对象的待处理事件预先设置的触发条件(即预设事件触发条件),若是,表明可以基于该预设事件触发条件,触发针对待处理事件的事件处理,则执行下述步骤204;若否,表明无需触发待处理事件,不做处理即可。

具体实施时,在预设事件触发条件为多个的情况下,可以依次判断变更后的目标属性信息是否满足每个预设事件触发条件,此外,还可以预先设置目标属性信息和预设事件触发条件的对应关系,比如针对待处理对象的预设事件触发条件有4个,而其中,与目标属性信息有关的预设事件触发条件有2个,则预先建立目标属性信息与这2个预设事件触发条件的对应关系。在监控到目标属性信息产生变更的情况下,依次判断目标属性信息是否满足其对应的这2预设事件触发条件,若满足这2个预设事件触发条件,则确定这2个预设事件触发条件中每个预设事件触发条件触发的待处理事件并处理;若满足这2个预设事件触发条件中任意一个预设事件触发条件,确定该任意一个预设事件触发条件触发的待处理事件并处理;若不满足任意一个预设事件触发条件,则不做处理即可。

其中,所述待处理事件可以理解为待处理对象的属性变更事件、状态变更事件或其他对待处理对象存在影响或关联的事件等,在此不做限制。

需要说明的是,在目标属性信息产生变更的情况下,可以发送消息通知,该消息通知里面可以包含具体的变更信息,并通过接收消息通知的方式,监控目标属性信息的变更。

以待处理对象为玩家坐骑为例,玩家坐骑存在饱食度(目标属性信息),饱食度大于86%(即满足预设事件触发条件)的时候,给玩家坐骑的移动速度增加额外的16%(待处理事件),本申请实施例,在玩家坐骑的饱食度产生变化时候,就会触发消息通知,具体的,比如说饱食度从80%提升到了100%,触发消息通知,并基于该消息通知监控到了饱食度产生了变更,则进一步判断变更后的饱食度100%是否大于86%,判断结果为是,则执行该玩家坐骑的移动速度额外提升16%的待处理事件。

此外,该预设事件触发条件还可以为饱食度小于等于86%,比如玩家坐骑的饱食度从100%降低到了99%,触发消息通知,基于该消息通知监控到目标属性信息产生了变更,则判断饱食度是否小于等于86%,判断结果为否,则不做处理,如果玩家坐骑的饱食度从87%降低到了84%,触发消息通知,基于该消息通知监控到目标属性信息发生了变更,则判断饱食度是否小于等于86%,判断结果为是,则执行去除玩家坐骑的额外增加的移动速度16%的待处理事件。

再比如,玩家坐骑上有个“是否双骑的标记”(目标属性信息),监控到该标记变更为是,而预设事件触发条件包括:“是否双骑的标记为是”,该变更后的是否双骑的标记,满足预设事件触发条件,则执行增加每秒气力值额外提升3点的待处理事件;若监控到该标记变更为否,预设事件触发条件包括:“是否双骑的标记为否”,该变更后的是否双骑的标记,满足预设事件触发条件,则执行去除每秒气力值额外提升3点的待处理事件。

进一步的,基于目标属性信息的变更,触发条件判断,可能会导致判断目标属性信息是否满足预设事件触发条件的判断次数很多,而多次条件判断中只有较少的情况下判断目标属性信息是否满足预设事件触发条件的判断结果为是(即可以触发针对待处理对象的事件处理),因此,导致在无需执行待处理对象的待处理事件的情况下(即判断结果为否的情况下),浪费计算资源进行条件判断,本申请实施例提供的一种可选实施方式中,所述在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件,具体采用如下方式实现:

在监控到待处理对象的目标属性信息产生预设变更的情况下,获取所述待处理对象的关联属性信息;

判断所述目标属性信息以及所述关联属性信息是否满足预设事件触发条件。

其中,所述预设变更,可以理解为目标属性信息变更至预设值(比如:玩家的气力值变更至0),也可以理解为目标属信息变更了预设幅度(比如:玩家的气力值增加了5点,业务金额增加了200万)等,在此不做限制。

具体的,所述关联属性信息,可以是待处理对象的属性信息中与预设事件触发条件有关的一些属性信息,此外,该关联属性信息,也可以与待处理对象没有直接关系,而简单理解为预设事件触发条件的条件因子(比如登录时间等),在此不做限制。

实际应用中,若预设事件触发条件中只包括针对目标属性信息的条件判断,则在监控到待处理对象的目标属性信息产生预设变更的情况下,可以直接判断所述目标属性信息是否满足预设事件触发条件。

此外,预设事件触发条件中还可能包括针对其他信息(关联属性信息)的条件判断,即需要目标属性信息以及关联属性信息共同满足预设事件触发条件,因此,在目标属性信息发生预设变更的情况下,获取待处理对象的关联属性信息,并判断目标属性信息以及关联属性信息是否满足预设事件触发条件,实现了预设事件触发条件的多样化,并实现了目标属性信息与预设事件条件之间关联关系的多样化,增加了条件判断的灵活性。

进一步的,本申请实施例提供的一种可选实施方式中,所述在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件之前,还包括:

确定待处理对象的对象状态为第一状态。

具体实施时,待处理对象的对象状态,可以根据待处理对象的不同而有所不同,比如:在待处理对象为业务的情况下,对象状态可以是业务营业状态、业务暂停状态等;在待处理对象为玩家坐骑的情况下,对象状态可以是骑乘状态、闲置状态等,在此不做限制,其中,第一状态,可以理解为存在待处理事件的必要因素,即若待处理对象的对象状态不是第一状态,则不会出现针对待待处理对象的待处理事件。

实际应用中,在待处理对象的对象状态为第一状态的情况下,才会触发针对待处理对象的待处理事件的事件处理,因此,在对待处理对象的目标属性信息进行监控前,需要先确定待处理对象的对象状态,则在待处理对象的对象状态为第一状态的情况下,监控目标属性信息的变更;并在监控到目标属性信息产生变更的情况下,判断目标属性信息是否满足预设事件触发条件,避免了在没有需求的情况下监控目标属性信息的变更,从而造成计算资源的浪费。

实际应用中,本申请实施例提供的一种可选实施方式中,所述在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件,具体采用如下方式实现:

在监控到待处理对象的展示帧产生变更的情况下,判断所述展示帧在预设时间轮中是否存在对应的目标时间区间,其中,所述展示帧为当前展示的游戏帧。

具体的,在目标属性信息为展示帧的情况下,所述待处理对象可以理解为游戏,或游戏中的任意存在触发事件的物件(比如玩家、npc、玩家坐骑等),在此不做限制。

所述预设时间轮,可以理解为一个具有时间长度的环形队列,该环形队列中的每个队列元素对应一个单位时间区间,具体的,该单位时间区间的时间单位可以按照实际场景自行定义,在此不做限制。

实际应用中,可以将用户登录游戏后所展示的首帧游戏帧作为第一帧,随着用户游戏时长的增加,展示帧在不断刷新,比如每秒刷新16帧,则当前展示帧为第几帧,也可以用以表示时间长度,因此,预设时间轮中的单位时间区间可以与游戏帧一一对应,也可以一个单位时间区间对应几个游戏帧、或几个单位时间区间对应一个游戏帧等,在此不做限制。而当前展示的游戏帧(展示帧)在预设时间轮中存在对应的时间区间(即目标时间区间),表明可以在该展示帧对应的时间区间内挂载针对待处理对象的待处理事件。

需要说明的是,在预设时间轮中的各个时间区间挂载待处理对象的待处理事件之后,则可在展示帧到达其在预设时间轮中对应的时间区间的情况下,执行该时间区间内挂载针对待处理对象的待处理事件。

本申请实施例,通过展示帧与预设时间轮中时间区间的对应关系,定时触发待处理事件,增加了事件处理的多样性与灵活性。

步骤204:确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系。

实际应用中,预设事件触发条件与所述至少一个待处理事件之间的对应关系的存储形式是多种多样的,具体的,该对象关系可以存储于链表,也可以存储于数据库中,在此不做限制。

具体实施时,通过预设事件触发条件与至少一个待处理事件之间的对应关系,也实现了对待处理事件进行分类,则在触发是待处理事件出问题的情况下,也能快速定位出问题的位置,并进行纠正。

本申请实施例提供的一种可选实施方式中,所述确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,包括:

确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件;

在所述至少一个待处理事件的处理条件满足的情况下,通过执行所述至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理。

实际应用中,在满足预设事件触发条件之后,还需要所触发的确定待处理事件的处理条件是否满足,具体的,所述处理条件,可以理解为执行待处理事件的必要条件,只有在该处理条件满足的情况下,才执行待处理事件的处理函数,增加了事件处理的灵活性以及可选择性。

具体实施时,待处理事件是通过执行处理函数进行事件处理,而该处理函数可以是任意编程语言所写的代码函数,比如lua(其中,lua是一个小巧的脚本语言)脚本函数,即采用lua脚本语言编写的处理函数,此外还可以是java函数等,在此不做限制。

实际应用中,待处理事件也可以是通过执行事务的方式进行事件处理,此外,待处理事件也可以是通过执行程序代码的方式进行事件处理,在此不做限制。

具体的,在待处理事件以处理函数进行表示为例,预设事件触发条件和待处理事件之间的对应关系可以采用链表形式进行存储,具体的,该链表可以如图3所示,该链表中,触发条件(预设事件触发条件)包括:预设事件触发条件1、预设事件触发条件2、预设事件触发条件3、预设事件触发条件4、……、预设事件触发条件n,而每个预设事件触发条件对应至少一个待处理事件(将待处理事件直接以处理函数进行表示),具体的,预设事件触发条件1对应多个处理函数,其对应的多个处理函数包括:处理函数a、处理函数b,此外,其对应的多个处理函数还可以包括其他处理函数,在此不做限制;预设事件触发条件2对应多个处理函数,其对应的多个处理函数包括:对应处理函数c、处理函数d,此外,其对应的多个处理函数还可以包括其他处理函数,在此不做限制;预设事件触发条件3对应多个处理函数,其对应的多个处理函数包括:对应处理函数e、处理函数f,此外,其对应的多个处理函数还可以包括其他处理函数,在此不做限制;预设事件触发条件4对应多个处理函数,其对应的多个处理函数包括:对应处理函数g、处理函数h,此外,其对应的多个处理函数还可以包括其他处理函数,在此不做限制;且预设事件触发条件n也对应多个处理函数,其对应的多个处理函数也不做限制。

具体实施时,若变更后的目标属性信息满足预设事件触发条件1,则依次执行预设事件触发条件1对应的多个处理函数,即处理函数a、处理函数b以及该多个处理函数包括的其他处理函数。

具体实施时,上述预设事件触发条件与所述至少一个待处理事件之间的对应关系是可以动态变化的,本申请实施例提供的一种可选实施方式中,所述对应关系,通过如下方式进行建立:

在检测到所述待处理对象的对象状态变更为第一状态的情况下,确定所述待处理对象对应的至少一个待处理事件以及每个待处理事件对应的至少一个事件触发条件;

根据所述至少一个事件触发条件的触发频率,确定所述预设事件触发条件;

建立所述预设事件触发条件和所述每个待处理事件的对应关系。

具体实施时,由于待处理对象的对象状态,决定了在这个状态的下的待处理对象可能会进行哪些事件处理,因此,在检测到待处理对象的对象状态变更为第一状态的情况下,则需要明确对待处理对象在该第一状态下可能会进行的事件处理,即确定待处理对象在第一状态下对应的至少一个待处理事件。比如,只有在玩家坐骑的状态为乘骑状态的情况下,可能执行针对玩家坐骑的速度加成事件。

实际应用中,针对每个待处理事件,可以存在至少一个事件触发条件,其中,所述事件触发条件,可以理解为包含至少一个可变更的属性信息的针对待处理事件的触发条件,即通过属性信息的变更,可以触发待处理事件的执行。也即该属性信息的至少一个变更值为执行该待处理事件的必要条件之一。

进一步的,所述至少一个事件触发条件的触发频率,可以理解为事件触发条件中包含的属性信息的变更频率,或基于属性信息变更满足事件触发条件的满足频率,因为在目标属性信息变更或满足预设事件触发条件的情况下,可能触发针对待处理事件的事件处理。

具体的,可以将至少一个事件触发条件按照触发频率从小到大的顺序进行排序,并选取排在第一位的事件触发条件作为预设事件触发条件,即在至少一个事件触发条件中选取触发频率低的事件触发条件,作为预设事件触发条件,并在此基础上,建立预设事件触发条件和每个待处理事件的对应关系,避免了在预设事件触发条件为高触发频率的情况下,虽然频繁触发待处理事件,但可能由于待处理事件的其他处理条件不能满足,却并不真正执行待处理事件,从而造成了计算资源的浪费,而选取触发频率低的事件触发条件作为预设事件触发条件,则优化了事件处理的性能。

除上述对预设事件触发条件与所述至少一个待处理事件之间的对应关系进行动态建立之外,本申请实施例提供的一种可选实施方式中,所述对应关系,通过如下方式进行删除:

在检测到所述待处理对象的对象状态变更为第二状态的情况下,确定所述待处理对象对应的至少一个待处理事件;

将包含所述至少一个待处理事件的对应关系进行删除。

具体的,在检测到待处理对象的对象状态变更为第二状态的情况下,表明无需再执行第一状态下的待处理事件,因此,在对象状态变更之后,将之前在第一状态下建立的包含至少一个待处理事件的对应关系进行删除,避免了触发错误的待处理事件。

相应的,在上述目标属性信息为展示帧的情况下,所述确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系,具体采用如下方式实现:

确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件并处理,其中,所述目标时间区间与所述至少一个待处理事件存在对应关系。

具体的,所述目标时间区间与上述预设事件触发条件类似,该目标时间区间作为事件触发的一个触发条件,进而对挂载在该目标时间区间内的待处理事件进行处理,具体的,参考上述预设事件触发条件触发至少一个待处理事件即可,在此不做赘述。

进一步的,在上述目标属性信息为展示帧的情况下,本申请实施例提供的一种可选实施方式中,所述确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件并处理,包括:

确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件;

通过执行所述至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理。

具体的,确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件的具体实现,与上述确定所述预设事件触发条件对应的所述待处理对象的至少一个待处理事件的具体实现类似,参考上述具体实现即可,在此不做赘述。

进一步的,通过执行至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理的具体实现,也与上述通过执行至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理的具体实现类似,参考上述具体实现即可,在此不再赘述。

本申请实施例,通过执行目标时间区间挂载(可以理解为关联)的至少一个待处理事件的处理函数,对至少一个待处理事件进行事件处理,实现了基于展示帧与预设时间轮中时间区间的对应关系,在目标时间区间触发针对待处理事件的处理函数的执行。

进一步的,本申请实施例提供的一种可选实施方式中,所述目标时间区间和所述至少一个待处理事件之间的对应关系,通过如下方式进行建立:

在检测到所述待处理对象的对象状态变更为第一状态的情况下,确定所述待处理对象对应的至少一个待处理事件以及每个待处理事件对应的处理时间;

根据所述处理时间与游戏帧的对应关系,以及所述预设时间轮中时间区间与游戏帧的对应关系,确定所述处理时间在所述预设时间轮中对应的目标时间区间;

建立所述目标时间区间和所述每个待处理事件的对应关系。

具体实施时,由于待处理事件的处理时间和游戏帧存在对应关系,并且预设时间轮中的时间区间与游戏帧也存在对应关系,因此基于这两个对应关系,则可以确定处理时间与预设时间轮中的时间区间的对应关系。

比如,预设时间轮中每个单位时间区间对应一帧游戏帧的展示时长,而预设时间轮的整体时间长度为900帧的展示时长,在游戏界面每秒刷新16帧的情况下,每帧的展示时长为1/16秒,那么若处理时间为间隔1秒,则该处理时间在预设时间轮中对应的目标时间区间为当前时间区间之后的第16个时间区间。

需要说明的是,处理时间和预设时间轮中的时间区间都可以采用游戏帧数进行表示,比如恢复1%的角色血量的待处理事件的处理时间为间隔16帧。

比如,当前游戏帧(展示帧)是1024帧,而预设时间轮中有900个时间区间(游戏帧),一个待处理事件的处理函数要在300帧后触发,由于(1024 300)%900=424,就将这个触发函数和触发游戏帧挂载在预设时间轮的第424个时间区间中,然后当游戏帧展示到第1324帧时,由于1324%900=424,就从预设时间轮中第424个时间区间中把之前挂载在该时间区间的待处理事件(处理函数)都执行一遍。

需要说明的是,预设时间轮中还存在同模的情况,所以如果在1024游戏帧时候,有个在1200帧后触发的待处理事件,由于(1024 1200)%900=424,因此,该待处理事件也是挂载在第424个时间区间内,这种情况下,在执行该时间区间中挂载的待处理事件时,需要判断该待处理事件所挂载的时间区间是不是小于900帧,也即判断该待处理事件所挂载的时间区间是否为预设时间轮中本触发轮次的时间区间;

若是,表明到达针对该待处理事件的触发时间,则对该待处理事件进行事件处理,处理完成后,删除该待处理事件与该时间区间的挂载关系,并确定该待处理事件的下一处理时间,将该待处理事件再挂载在下一处理时间在预设时间轮中对应的时间区间;

若否,表明未到达针对该待处理事件的触发时间,则将该待处理事件保留在该时间区间,本次不对该待处理事件进行事件处理,并等到时间到达下一触发轮次的该时间区间之后,再确定是否到达该待处理事件在预设时间轮中的触发轮次。

需要说明的是,上述所建立的所述目标时间区间和待处理事件的对应关系也可以进行删除,本申请实施例提供的一种可选实施方式中,所述对应关系,通过如下方式进行删除:

在检测到所述待处理对象的对象状态变更为第二状态的情况下,确定所述待处理对象对应的至少一个待处理事件;

将包含所述至少一个待处理事件的对应关系进行删除。

具体的,将包含所述至少一个待处理事件的对应关系进行删除,是指删除所述至少一个待处理事件和预设时间轮中时间区间的对应关系,具体的,该实现方式与上述针对对应关系的删除的实现方式类似,在此不做赘述。

综上所述,本申请实施例提供的一种事件处理方法,通过在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;若是,确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系,实现了将目标属性信息的变更情况作为预设事件触发条件,并基于预设触发条件进行事件处理,大大减少了空跑判断的次数。

与上述方法实施例相对应,本申请还提供了事件处理装置实施例,图4示出了本申请一个实施例的事件处理装置的结构示意图。如图4所示,该装置包括:

判断模块402,被配置为在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;

若是,运行确定模块404,所述确定模块404,被配置为确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系。

可选地,所述确定模块404,进一步被配置为:

确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件;

在所述至少一个待处理事件的处理条件满足的情况下,通过执行所述至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理。

可选地,所述对应关系,通过如下方式进行建立:

在检测到所述待处理对象的对象状态变更为第一状态的情况下,确定所述待处理对象对应的至少一个待处理事件以及每个待处理事件对应的至少一个事件触发条件;

根据所述至少一个事件触发条件的触发频率,确定所述预设事件触发条件;

建立所述预设事件触发条件和所述每个待处理事件的对应关系。

可选地,所述事件处理装置,还包括:

确定状态模块,被配置为确定待处理对象的对象状态为第一状态。

可选地,所述对应关系,通过如下方式进行删除:

在检测到所述待处理对象的对象状态变更为第二状态的情况下,确定所述待处理对象对应的至少一个待处理事件;

将包含所述至少一个待处理事件的对应关系进行删除。

可选地,所述判断模块402,进一步被配置为:

在监控到待处理对象的目标属性信息产生预设变更的情况下,获取所述待处理对象的关联属性信息;

判断所述目标属性信息以及所述关联属性信息是否满足预设事件触发条件。

可选地,所述判断模块402,进一步被配置为:

在监控到待处理对象的展示帧产生变更的情况下,判断所述展示帧在预设时间轮中是否存在对应的目标时间区间,其中,所述展示帧为当前展示的游戏帧;

相应的,所述确定模块404,进一步被配置为:

确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件并处理,其中,所述目标时间区间与所述至少一个待处理事件存在对应关系。

可选地,所述确定模块404,进一步被配置为:

确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件;

通过执行所述至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理。

可选地,所述对应关系,通过如下方式进行建立:

在检测到所述待处理对象的对象状态变更为第一状态的情况下,确定所述待处理对象对应的至少一个待处理事件以及每个待处理事件对应的处理时间;

根据所述处理时间与游戏帧的对应关系,以及所述预设时间轮中时间区间与游戏帧的对应关系,确定所述处理时间在所述预设时间轮中对应的目标时间区间;

建立所述目标时间区间和所述每个待处理事件的对应关系。

可选地,所述对应关系,通过如下方式进行删除:

在检测到所述待处理对象的对象状态变更为第二状态的情况下,确定所述待处理对象对应的至少一个待处理事件;

将包含所述至少一个待处理事件的对应关系进行删除。

综上所述,本申请实施例提供的一种事件处理装置,通过在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;若是,确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系,实现了将目标属性信息的变更情况作为预设事件触发条件,并基于预设触发条件进行事件处理,大大减少了空跑判断的次数。

上述为本实施例的一种事件处理装置的示意性方案。需要说明的是,该事件处理装置的技术方案与上述的事件处理方法的技术方案属于同一构思,事件处理装置的技术方案未详细描述的细节内容,均可以参见上述事件处理方法的技术方案的描述。

需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。

本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述的事件处理方法的步骤。

上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的事件处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述事件处理方法的技术方案的描述。

本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现如前所述事件处理方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的事件处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述事件处理方法的技术方案的描述。

上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。


技术特征:

1.一种事件处理方法,其特征在于,包括:

在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;

若是,确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系。

2.根据权利要求1所述的事件处理方法,其特征在于,所述确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,包括:

确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件;

在所述至少一个待处理事件的处理条件满足的情况下,通过执行所述至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理。

3.根据权利要求1所述的事件处理方法,其特征在于,所述对应关系,通过如下方式进行建立:

在检测到所述待处理对象的对象状态变更为第一状态的情况下,确定所述待处理对象对应的至少一个待处理事件以及每个待处理事件对应的至少一个事件触发条件;

根据所述至少一个事件触发条件的触发频率,确定所述预设事件触发条件;

建立所述预设事件触发条件和所述每个待处理事件的对应关系。

4.根据权利要求1所述的事件处理方法,其特征在于,所述在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件之前,还包括:

确定待处理对象的对象状态为第一状态。

5.根据权利要求1所述的事件处理方法,其特征在于,所述对应关系,通过如下方式进行删除:

在检测到所述待处理对象的对象状态变更为第二状态的情况下,确定所述待处理对象对应的至少一个待处理事件;

将包含所述至少一个待处理事件的对应关系进行删除。

6.根据权利要求1所述的事件处理方法,其特征在于,所述在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件,包括:

在监控到待处理对象的目标属性信息产生预设变更的情况下,获取所述待处理对象的关联属性信息;

判断所述目标属性信息以及所述关联属性信息是否满足预设事件触发条件。

7.根据权利要求1所述的事件处理方法,其特征在于,所述在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件,包括:

在监控到待处理对象的展示帧产生变更的情况下,判断所述展示帧在预设时间轮中是否存在对应的目标时间区间,其中,所述展示帧为当前展示的游戏帧;

相应的,所述确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系,包括:

确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件并处理,其中,所述目标时间区间与所述至少一个待处理事件存在对应关系。

8.根据权利要求7所述的事件处理方法,其特征在于,所述确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件并处理,包括:

确定所述目标时间区间对应的所述待处理对象的至少一个待处理事件;

通过执行所述至少一个待处理事件的处理函数,对所述至少一个待处理事件进行事件处理。

9.根据权利要求7所述的事件处理方法,其特征在于,所述对应关系,通过如下方式进行建立:

在检测到所述待处理对象的对象状态变更为第一状态的情况下,确定所述待处理对象对应的至少一个待处理事件以及每个待处理事件对应的处理时间;

根据所述处理时间与游戏帧的对应关系,以及所述预设时间轮中时间区间与游戏帧的对应关系,确定所述处理时间在所述预设时间轮中对应的目标时间区间;

建立所述目标时间区间和所述每个待处理事件的对应关系。

10.一种事件处理装置,其特征在于,包括:

判断模块,被配置为在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;

若是,运行确定模块,所述确定模块,被配置为确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系。

11.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-9任意一项所述方法的步骤。

12.一种计算机可读存储介质,其存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-9任意一项所述方法的步骤。

技术总结
本申请提供事件处理方法及装置,其中所述事件处理方法包括:在监控到待处理对象的目标属性信息产生变更的情况下,判断所述目标属性信息是否满足预设事件触发条件;若是,确定所述预设事件触发条件触发的所述待处理对象的至少一个待处理事件并处理,其中,所述预设事件触发条件与所述至少一个待处理事件存在对应关系。

技术研发人员:叶川;梁波
受保护的技术使用者:珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司
技术研发日:2021.05.21
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7442.html

最新回复(0)