系统逻辑控制方法及装置与流程

文档序号:12469428阅读:433来源:国知局
系统逻辑控制方法及装置与流程
本发明实施例涉及计算机领域,特别涉及一种系统逻辑控制方法及装置。
背景技术
:在开发大型系统或游戏的过程中,开发人员需要花费大量时间设置复杂的控制逻辑。现有技术中,开发人员通常利用有限状态机(英文:Finite-StateMachine,简称:FSM)对系统进行逻辑控制。有限状态机中包括有限个状态(英文:State)以及各个状态之间的状态转移关系,其中,有限状态机中的各个状态与系统的系统状态对应。开发人员在设置系统的控制逻辑时,只需要向有限状态机中添加状态和状态转移关系,并设置相应的状态转移条件即可。在实现本发明实施例的过程中,发明人发现上述技术至少存在以下问题:随着系统逻辑复杂度的提高,开发人员需要不断修改或增加有限状态机中的状态以及对应的状态转移关系,导致有限状态机过于臃肿,影响系统的响应速率。技术实现要素:为了解决现有技术中利用有限状态机对系统进行逻辑控制时,随着系统逻辑复杂度的提高,需要不断修改或增加有限状态机中的状态以及对应的状态转移关系,导致有限状态机过于臃肿,影响系统的响应速率的问题,本发明实施例提供了一种系统逻辑控制方法及装置。所述技术方案如下:根据本发明实施例的第一方面,提供一种系统逻辑控制方法,该方法包括:获取行为树实例,该行为树实例中包括至少一条用于控制系统逻辑的行为树执行路径;根据该行为树实例的行为树执行环境确定行为树执行路径,该行为树执行环境用于向行为树实例传递所处系统的运行信息;根据确定的行为树执行路径对系统进行逻辑控制。根据本发明实施例的第二方面,提供一种系统逻辑控制装置,该装置包括:获取模块,用于获取行为树实例,行为树实例中包括至少一条用于控制系统逻辑的行为树执行路径;确定模块,用于根据行为树实例的行为树执行环境确定行为树执行路径,行为树执行环境用于向行为树实例传递所处系统的运行信息;控制模块,用于根据确定的行为树执行路径对该系统进行逻辑控制本发明实施例提供的技术方案带来的有益效果是:通过获取行为树实例,并根据该行为树实例当前所处系统的运行信息,从行为树实例中确定出用于进行逻辑控制的行为树执行路径,从而利用该行为树执行路径对系统进行逻辑控制;解决了现有技术中利用有限状态机对系统进行逻辑控制时,随着系统逻辑复杂度的提高,需要不断修改或增加有限状态机中的状态以及对应的状态转移关系,导致有限状态机过于臃肿,影响系统的响应速率的问题;达到了利用扩展性强且复用性高的行为树进行系统逻辑控制,并根据系统的运行信息进行行为树执行路径决策,避免了同时执行行为树实例中所有的行为树执行路径,从而提高了系统的响应速率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本发明一个实施例提供的系统逻辑控制方法的流程图;图2A示出了本发明另一个实施例提供的系统逻辑控制方法的流程图;图2B示出了本发明再一个实施例提供的系统逻辑控制方法的流程图;图2C是一个实施例提供的行为树的示意图;图3A是图2A和图2B所示系统逻辑控制方法所涉及的行为树生成过程的流程图;图3B是一个实施例提供的行为树编辑器的界面示意图;图4示出了本发明一个实施例提供的系统逻辑控制装置的结构方框图;图5示出了本发明一个实施例提供的电子设备的结构方框图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。为了方便理解,下面对本发明实施例中出现的名词进行解释。行为树:一种计划执行的数学模型,本质上是一种决策树。每棵行为树中包含若干个行为节点,其中,该行为节点包括控制节点和执行节点。执行节点作为行为树的叶节点,用于执行该节点所指示的事件(或行为)。行为树中的控制节点(在树的概念中即为父节点)与若干个子节点相连(控制节点和/或执行节点),用于选择(Selector)执行、序列(Sequence)执行或并行(Parallel)执行某一或某些子节点。其中,选择执行指按序执行子节点,并在子节点返回true时停止执行后续子节点;序列执行指按序执行各个子节点,并在子节点返回false时停止执行后续子节点;并行执行指按序执行所有子节点(不论返回true或false)。行为树执行路径:用于指示行为树(实例)中根节点到叶节点之间的路径,即执行某一事件时经过的各个行为节点所构成的路径。行为树执行环境:即行为树在系统中运行时所处的环境,行为树执行环境作为行为树获取系统运行时(动态)运行信息的媒介,携带有行为树的基本信息(包括行为树名称、索引、行为树所属实体等等)以及系统当前运行事件的事件信息(包括事件标识和事件参数)。行为树编辑器:一种可视化的行为树编辑工具。行为树中的行为节点(控制节点和执行节点)在行为编辑器中以节点控件的形式呈现,供用户选择使用,用户即通过组合不同的节点控件来构建行为树。该行为树编辑器可以通过图形用户界面应用程序开发框架开发,比如可以利用奇趣科技的Qt开发该行为树编辑器。现有技术中,开发人员通常采用有限状态机对系统进行逻辑控制。随着系统控制逻辑的不断复杂,开发人员向有限状态机添加状态的过程中,需要添加相应的状态转移关系。比如,当现有的有限状态机中包含n个状态时,用户向该有限状态机中添加一个状态,则需要添加(n-1)个状态转移关系,显然,当系统具有复杂控制逻辑时,后续维护和升级成本较高;并且,有限状态机中状态转移关系的数量庞大(状态转移关系的数量m=n*(n-1)/2),导致有限状态机过于臃肿,最终影响所控制系统的响应速率。与有限状态机相比,行为树中没有状态的概念,行为树中各个行为节点的耦合度较低,利用行为树进行系统逻辑控制时,可以通过重组不同的行为节点实现不同的行为树,从而实现不同的逻辑控制。并且,行为树中的行为节点具有较强的复用性,编写好的行为节点能够被不同的行为树复用,后续维护和升级成本低且易于扩展。因此,应用于控制逻辑复杂的系统时,行为树的执行效率高于有限状态机,相应的,系统的响应速率也更快。本发明各个实施例即通过将行为树应用到系统逻辑控制来提高系统的响应效率,下面采用示意性的实施例进行说明。请参考图1,其示出了本发明一个实施例提供的系统逻辑控制方法的流程图,本实施例以该系统逻辑控制方法用于计算机为例进行说明,该方法包括:步骤101,获取行为树实例,该行为树实例中包括至少一条用于控制系统逻辑的行为树执行路径。行为树实例由行为树实例化创建而成,包含至少一条行为树执行路径,且每一条行为树执行路径用于控制系统执行对应的行为或事件。步骤102,根据行为树实例的行为树执行环境确定行为树执行路径,该行为树执行环境用于向行为树实例传递所处系统的运行信息。通常情况下,应用到系统的行为树需要随系统运行,并每帧运行一次,运行过程中,行为树从根节点开始依次执行到各个叶节点,即遍历行为树中的各条行为树执行路径,但是实际情况下,在对系统进行逻辑控制时,无需使用到所有行为树执行路径,每帧运行时遍历所有行为树执行路径将造成计算机处理资源浪费。因此,本实施例中,行为树以事件驱动,根据所处系统当前的运行信息对无需使用的行为树执行路径进行过滤,并根据确定出的行为树执行路径进行系统逻辑控制。其中,该运行信息包括但不限于当前运行事件的事件标识以及事件参数等等。步骤103,根据确定的行为树执行路径对该系统进行逻辑控制。计算机根据确定出的行为树执行路径控制系统执行相应的事件或行为,从而实现对系统的逻辑控制。比如,以该系统为游戏逻辑控制系统为例,通过将行为树挂载在系统中的AI(ArtificialIntelligence,人工智能)实体上,能够实现AI实体在不同系统运行环境下自动执行相应的动作。综上所述,本实施例提供的系统逻辑控制方法,通过获取行为树实例,并根据该行为树实例当前所处系统的运行信息,从行为树实例中确定出用于进行逻辑控制的行为树执行路径,从而利用该行为树执行路径对系统进行逻辑控制;解决了现有技术中利用有限状态机对系统进行逻辑控制时,随着系统逻辑复杂度的提高,需要不断修改或增加有限状态机中的状态以及对应的状态转移关系,导致有限状态机过于臃肿,影响系统的响应速率的问题;达到了利用扩展性强且复用性高的行为树进行系统逻辑控制,并根据系统的运行信息进行行为树执行路径决策,避免了同时执行行为树实例中所有的行为树执行路径,从而提高了系统的响应速率。请参考图2A,其示出了本发明另一个实施例提供的系统逻辑控制方法的流程图,本实施例以该系统逻辑控制方法用于计算机为例进行说明,该方法包括:步骤201,根据行为树实例标识在预设行为树实例列表中查找匹配的行为树实例,该行为树实例列表中包含的行为树实例支持复用。利用行为树对系统进行逻辑控制时,系统中不同的实体可能对应同一棵行为树(即不同实体通过同一棵行为树进行逻辑控制)。比如,以系统为游戏逻辑控制系统为例,该系统在某一场景下包含有多个相同的AI实体,且各个AI实体通过行为树BTree001进行逻辑控制。若利用同一棵行为树为每个实体各创建一个行为树实例,将耗费计算机大量的内存和处理资源,影响系统运行(表现为出现系统卡顿等情况)。为了避免上述问题,本实施例中根据行为树服务(即为实体提供行为树实例的服务)的思想,在计算机中预先设置行为树实例列表,该行为树实例列表中包含根据行为树实例化创建的行为树实例,且该列表中各个行为树实例均支持复用。在一种可能的实施方式中,计算机采用哈希表对行为树实例标识以及行为树实例之间的对应关系进行存储,并在系统外部调用GetBtree()方法获取行为树实例时,在该哈希表中查找与行为树实例标识(外部调用时携带)匹配的行为树实例;若在哈希表中查找到匹配的行为树实例,则执行下述步骤202;若未查找到匹配的行为树实例,则执行下述步骤203。步骤202,若查找到匹配的行为树实例,则获取该行为树实例。若查找到匹配的行为树实例,则获取查找到的行为树实例,进一步根据该行为树实例进行逻辑控制。显然,当多个实体对应同一棵行为树时,多个实体最终指向行为树实例列表中的同一行为树实例,计算机无需根据行为树创建多个相同的行为树实例,从而降低了内存使用量以及耗费的处理资源,保证了系统运行稳定性。步骤203,若未查找到匹配的行为树实例,则查找与行为树实例标识匹配的行为树文件,该行为树文件用于创建行为树实例。在一种可能的实施方式中,对于系统常用的行为树,计算机可以将该行为树对应的行为树实例存储在行为树实例列表中,方便系统调用,对于使用率较低的行为树,计算机则可以以行为树文件的方式将其存储在计算机存储介质中(比如硬盘)。当未在行为树实例列表中查找到匹配的行为树实例时,则进一步根据行为树实例标识,在计算机存储介质中查找是否存在匹配的行为树文件。其中,该行为树文件可以为XML(ExtensibleMarkupLanguage,可扩展标记语言)或JSON(JavaScriptObjectNotation,脚本对象表示法)文件格式,本发明并不对此进行限定。若查找到匹配的行为树文件,则执行下述步骤204,;若未查找到匹配的行为树文件,则返回相应的提示,指示不存在相应的行为树实例。步骤204,若查找到匹配的行为树文件,则通过解码库对查找到的行为树文件进行解码,并根据解码后的行为树文件创建相应的行为树实例。若查找到匹配的行为树文件,计算机即通过相应的解码库对该行为树文件进行解码,并根据解码后的文件创建行为树实例,其中,解码库用于将行为树文件中定义的数据类型转化成系统识别的数据类型。比如,当该行为树文件是XML文件时,计算机则通过XML解码库对该文件进行解码,并根据解码后的文件创建行为树实例。步骤205,将生成的行为树实例添加到行为树实例列表中。计算机将生成的行为树实例添加到行为树实例列表中,方便后续的调用。通过上述步骤201至步骤205获取到行为树实例后,计算机以事件为驱动,根据该行为树实例对系统进行相应的逻辑控制。步骤206,获取行为树实例所处行为树执行环境传递的运行信息中包含的运行事件。行为树实例中各个行为节点被执行时,都能够访问到行为树实例的行为树执行环境。由于该行为树执行环境是行为树获取系统运行时(动态)运行信息的媒介,因此,通过该行为树执行环境,行为树实例可以获取到所处系统的运行信息,其中,该运行信息包括系统当前运行事件的事件标识和事件参数等信息。步骤207,检测该运行事件是否属于控制节点的关注事件。行为树实例中的控制节点用于决策行为树执行路径,且本发明各个实施例中行为树实例中控制节点的执行以事件为驱动,只有在系统运行事件是控制节点关注的事件时,该控制节点所在的行为树执行路径才会被执行。因此,获取到系统运行信息中包含的运行事件后,计算机需要进一步检测该运行事件是否属于当前控制节点的关注事件,从而确定是否执行该控制节点。在一种可能的实施方式中,如图2B所示,本步骤可以包括如下步骤。步骤207A,获取控制节点对应的各个子节点的关注事件集合。行为树实例中,控制节点通常与多个子节点相连,且各个子节点各自对应关注事件。若当前控制节点仅关注自身的关注事件,而不关注其子节点对应的关注事件,则会导致控制节点的错误过滤。比如,如图2C所示,行为树(实例)中包括控制节点A、C、D、E、F以及执行节点B、G、H、I、J、K,且控制节点和执行节点对应各自的关注事件。当执行到控制节点C,且行为树执行环境传递的运行事件为I时,若控制节点C仅关注自身的关注事件C,由于运行事件I不属于关注事件C,控制节点C将停止执行,导致无法进行控制(关注事件I是控制节点C下属子节点关注的事件)。因此,为了避免发生上述问题,计算机需要获取当前控制节点下属各个子节点的关注事件集合。在一种可能的实施方式中,计算机调用PrepareExecEventNames()方法收集当前控制节点下所有子节点对应的关注事件,从而生成相应的关注事件集合。比如,如图2C所示,当执行到控制节点C时,需要收集控制节点C对应子节点E、F、I、J、K、H各自对应的关注事件,从而生成相应的关注事件集合{E,F,I,J,K,H}。步骤207B,根据该关注事件集合确定该控制节点对应的关注事件。进一步的,计算机将该关注事件集合确定为当前控制节点对应的关注事件,即当前控制节点对应的关注事件包括自身对应的关注事件以及各个子节点对应的关注事件。比如,如图2C所示,控制节点C对应的关注事件包括:C,E,F,I,J,K,H。步骤207C,检测该运行事件是否属于关注事件集合。相应的,当运行到该控制节点时,计算机即检测系统的运行事件是否属于该控制节点对应的关注事件;若该运行事件不属于当前控制节点对应的关注事件,则执行下述步骤208;若该运行事件属于当前控制节点对应的关注事件,则执行下述步骤209。步骤208,若该运行事件不属于控制节点对应的关注事件,则过滤该控制节点所属的行为树执行路径。若运行事件不属于当前控制节点对应的关注事件,计算机则将当前控制节点过滤,相应的,该控制节点所属的行为树执行路径将不在执行,从而减少计算机的处理量,提升系统响应速率。比如,如图2C所示,控制节点C执行后,需要并行执行控制节点E和F,且控制节点E对应的关注事件为E、I、J(收集子节点对应的关注事件后得到的),而F对应的关注事件为F、K、H。若系统的运行事件为I,由于事件I不属于控制节点F的关注事件,因此,控制节点F被过滤,相应的,控制节点下属的子节点K和H也无需执行。步骤209,若该运行事件属于控制节点对应的关注事件,则确定执行该控制节点所属的行为树执行路径。若该运行事件属于当前控制节点对应的关注事件,则执行当前控制节点。比如,如图2C所示,运行事件为I,且当前控制节点为C,由于运行事件I属于当前控制节点C对应的关注事件(C,E,F,I,J,K,H),因此,计算机执行控制节点C。在一种可能的实施方式中,确定执行当前控制节点后,还需要进一步确定是否并行执行,若需要并行执行,则调用相应的并行执行方法;若不需要并行执行,则调用相应的非并行执行方法,本实施例并不对此进行限定。步骤210,根据确定的行为树执行路径对系统进行逻辑控制。重复执行上述步骤201至步骤209,从而确定出控制系统的行为树执行路径,实现对系统的逻辑控制。相较于每帧运行一次行为树,并执行行为树中各个行为节点,本实施例中行为树以事件为驱动,在系统运行事件属于当前控制节点的关注事件时确定执行控制节点,在系统运行事件不属于当前控制节点的关注事件时对控制节点进行过滤,从而避免执行行为树中所有行为节点,提高了系统的响应速率。综上所述,本实施例提供的系统逻辑控制方法,通过获取行为树实例,并根据该行为树实例当前所处系统的运行信息,从行为树实例中确定出用于进行逻辑控制的行为树执行路径,从而利用该行为树执行路径对系统进行逻辑控制;解决了现有技术中利用有限状态机对系统进行逻辑控制时,随着系统逻辑复杂度的提高,需要不断修改或增加有限状态机中的状态以及对应的状态转移关系,导致有限状态机过于臃肿,影响系统的响应速率的问题;达到了利用扩展性强且复用性高的行为树进行系统逻辑控制,并根据系统的运行信息进行行为树执行路径决策,避免了同时执行行为树实例中所有的行为树执行路径,从而提高了系统的响应速率。本实施例中,当系统中多个实体对应同一行为树时,通过复用行为树实例列表中的行为树实例,实现多个实体共享同一行为树实例,从而避免了利用同一棵行为树为多个实体创建行为树实例所造成的内存和处理资源浪费。本实施例中,在系统运行事件属于当前控制节点的关注事件时确定执行控制节点,在系统运行事件不属于当前控制节点的关注事件时,对该控制节点以及对应的子节点进行过滤,从而避免执行行为树中所有行为节点,节约了计算机的处理资源,进一步提高了系统的响应速率。为了方便策划人员根据系统控制逻辑设计相应的行为树,计算机提供了利用图形用户界面应用程序开发框架开发的可视化行为树编辑器供开发人员使用。基于图2A和图2B所示的实施例,如图3A所示,上述步骤201之前,还包括如下步骤。步骤211,在行为树编辑器中显示节点控件,节点控件包括控制节点控件和执行节点控件,行为树编辑器通过图形用户界面应用程序开发框架开发,行为树编辑器具有添加、修改和删除功能中的至少一种。行为树编辑器中提供了若干节点控件以供使用,具体的,节点控件包括控制节点控件和执行节点控件,分别用于实现控制节点和执行节点的相关功能。并且,该行为树编辑器支持行为树添加、查看并修改已有行为树以及删除已有行为树等功能。如图3B所示,行为树编辑器中包括节点控件选择区域31,该节点控件选择区域31中即包含不同类型的节点控件32。步骤212,接收对节点组件的选择信号。策划人员根据系统控制逻辑设计行为树时,只需要在行为树编辑器中选择相应的节点组件即可。相应的,计算机接收对节点组件的选择信号。如图3B所示,策划人员选择节点控件32后,将该节点控件32拖动至行为树编辑区域33,并对各个节点控件32进行组合。步骤213,根据该选择信号生成行为树,行为树中包括至少一个节点控件。比如,计算机根据策划人员选择的节点控件生成如图3B所示的行为树。步骤214,根据生成的行为树导出行为树文件,行为树文件用于创建行为树实例,行为树文件为XML或JSON文件格式。计算机根据生成的行为树导出相应的行为树文件,该行为树文件可以直接用于创建行为树实例,并将创建的行为树实例存储在行为树实例列表中,也可以存储在计算机硬盘中,以供后续调用。在一种可能的实施方式中,导出的行为树为XML格式文件,且该XML格式文件中包含行为树中行为节点属性的定义。示意性的,行为节点属性的定义如表一所示。表一其中,SEL(SELECT,选择)和SEQ(SEQUENCE,顺序)为控制节点,ACTION和CONDITION为执行节点,行为节点监听事件即行为节点对应的关注事件。相应的,行为节点对应的参数示意性如表二所示。表二参数名数据类型备注Parami32/f32/str/bool对应Type的值Delayi32延迟时间Ratioi32随机比例其中,i32表示32位整型数;f32表示32位浮点数;str(string)表示字符串;bool表示布尔型变量。计算机利用解码库并结合表一、二所示的行为节点属性以及参数定义,对行为树文件进行解码实例化,即可得到相应的行为树实例。本实施例中,参与系统开发的开发人员只需要设计相应的行为节点,并将行为节点以可视化控件的形式提供给策划人员,使策划人员能够利用该可视化控件并结合控制逻辑设计出相应的行为树,从而提高了系统开发的效率。下述为本发明装置实施例,对于装置实施例中未详尽描述的细节,可以参考上述一一对应的方法实施例。请参考图4,其示出了本发明一个实施例提供的系统逻辑控制装置的结构方框图。该系统逻辑控制装置通过硬件或者软硬件的结合实现成为计算机的全部或者一部分。该系统逻辑控制装置包括:获取模块410,用于获取行为树实例,所述行为树实例中包括至少一条用于控制系统逻辑的行为树执行路径;确定模块420,用于根据所述行为树实例的行为树执行环境确定所述行为树执行路径,所述行为树执行环境用于向所述行为树实例传递所处系统的运行信息;控制模块430,用于根据确定的所述行为树执行路径对所述系统进行逻辑控制。可选的,所述行为树实例包括控制节点和执行节点,所述控制节点用于决策所述行为树执行路径,所述执行节点用于执行预定事件;所述确定模块420,包括:获取单元,用于获取所述运行信息中包含的运行事件;检测单元,用于检测所述运行事件是否属于所述控制节点的关注事件;确定单元,用于在所述运行事件属于所述控制节点对应的关注事件时,确定执行所述控制节点所属的所述行为树执行路径;过滤单元,用于在所述运行事件不属于所述控制节点对应的关注事件时,过滤所述控制节点所属的所述行为树执行路径。可选的,所述控制节点与至少一个子节点相连,且所述子节点为控制节点和/或执行节点;所述检测单元,包括:获取子单元,用于获取所述控制节点对应的各个子节点的关注事件集合;确定子单元,用于根据所述关注事件集合确定所述控制节点对应的所述关注事件;检测子单元,用于检测所述运行事件是否属于所述关注事件集合。可选的,所述获取模块410,包括:第一查找单元,用于根据行为树实例标识在预设行为树实例列表中查找匹配的行为树实例,所述行为树实例列表中包含的行为树实例支持复用;第一获取单元,用于在查找到匹配的行为树实例时,获取所述行为树实例。可选的,获取模块410,还包括:第二查找单元,用于在未查找到匹配的行为树实例时,查找与所述行为树实例标识匹配的行为树文件,所述行为树文件用于创建所述行为树实例;创建单元,用于在查找到匹配的行为树文件时,通过解码库对查找到的所述行为树文件进行解码,并根据解码后的所述行为树文件创建相应的行为树实例;添加单元,用于将生成的所述行为树实例添加到所述行为树实例列表中。可选的,该装置,还包括:显示模块,用于在行为树编辑器中显示节点控件,所述节点控件包括控制节点控件和执行节点控件,所述行为树编辑器通过图形用户界面应用程序开发框架开发,所述行为树编辑器具有添加、修改和删除功能中的至少一种;接收模块,用于接收对所述节点组件的选择信号;生成模块,用于根据所述选择信号生成行为树,所述行为树中包括至少一个所述节点控件;导出模块,用于根据生成的所述行为树导出行为树文件,所述行为树文件用于创建所述行为树实例,所述行为树文件为可扩展标记语言XML或Java脚本对象表示法JSON文件格式。综上所述,本实施例提供的系统逻辑控制装置,通过获取行为树实例,并根据该行为树实例当前所处系统的运行信息,从行为树实例中确定出用于进行逻辑控制的行为树执行路径,从而利用该行为树执行路径对系统进行逻辑控制;解决了现有技术中利用有限状态机对系统进行逻辑控制时,随着系统逻辑复杂度的提高,需要不断修改或增加有限状态机中的状态以及对应的状态转移关系,导致有限状态机过于臃肿,影响系统的响应速率的问题;达到了利用扩展性强且复用性高的行为树进行系统逻辑控制,并根据系统的运行信息进行行为树执行路径决策,避免了同时执行行为树实例中所有的行为树执行路径,从而提高了系统的响应速率。本实施例中,当系统中多个实体对应同一行为树时,通过复用行为树实例列表中的行为树实例,实现多个实体共享同一行为树实例,从而避免了利用同一棵行为树为多个实体创建行为树实例所造成的内存和处理资源浪费。本实施例中,在系统运行事件属于当前控制节点的关注事件时确定执行控制节点,在系统运行事件不属于当前控制节点的关注事件时,对该控制节点以及对应的子节点进行过滤,从而避免执行行为树中所有行为节点,节约了计算机的处理资源,进一步提高了系统的响应速率。本实施例中,参与系统开发的开发人员只需要设计相应的行为节点,并将行为节点以可视化控件的形式提供给策划人员,使策划人员能够利用该可视化控件并结合控制逻辑设计出相应的行为树,从而提高了系统开发的效率。需要说明的是:上述实施例提供的系统逻辑控制装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的系统逻辑控制装置与系统逻辑控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。请参考图5,其示出了本发明一个实施例提供的电子设备的结构方框图。该电子设备可以为计算机。具体来讲:设备500可以有一个或一个以上计算机可读存储介质的存储器520、输入单元530、显示单元540、音频电路560、网络通信模块570、包括有一个或者一个以上处理核心的处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器520还可以包括存储器控制器,以提供处理器580和输入单元530对存储器520的访问。输入单元530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元530可包括图像输入设备531以及其他输入设备532。图像输入设备531可以是摄像头,也可以是光电扫描设备。除了图像输入设备531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元540可用于显示由用户输入的信息或提供给用户的信息以及设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元540可包括显示面板541,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板541。音频电路560、扬声器561,传声器562可提供用户与设备500之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出。音频电路560还可能包括耳塞插孔,以提供外设耳机与设备500的通信。设备500通过网络通信模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了网络通信模块570,但是可以理解的是,其并不属于设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。处理器580是设备500的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行设备500的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器580可包括一个或多个处理核心;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。设备500还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源590还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。尽管未示出,设备500还可以包括蓝牙模块等,在此不再赘述。具体在本实施例中,设备500还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于进行本发明各个实施例提供的系统逻辑控制方法的指令。应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1