CN113268469A - 一种自动创建演员的方法及系统 - Google Patents
一种自动创建演员的方法及系统 Download PDFInfo
- Publication number
- CN113268469A CN113268469A CN202110655103.1A CN202110655103A CN113268469A CN 113268469 A CN113268469 A CN 113268469A CN 202110655103 A CN202110655103 A CN 202110655103A CN 113268469 A CN113268469 A CN 113268469A
- Authority
- CN
- China
- Prior art keywords
- actor
- data
- processor
- type
- behavior
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Abstract
本发明提供了一种自动创建演员的方法,所述方法包括以下步骤:步骤S1、获取处理器及注册所有程序集中的处理器;步骤S2、在处理器内输入演员创建数据;步骤S3、从演员创建数据中提取有效数据,通过网络请求获取Json在线解析工具创建数据;步骤S4、将Json在线解析工具创建数据转化为统一的演员数据;步骤S5、获取演员实例,判断演员实例是否有效;步骤S6、演员创建后,从演员创建数据中读取行为相关数据,根据行为相关数据执行行为;步骤S7、等待用户交互,接受交互事件,执行交互事件,判断该交互事件是否为演员销毁事件;本发明能够通过将演员及其行为的描述信息进行提取生成演员并执行演员行为,并支持交互逻辑的反馈。
Description
技术领域
本发明涉及计算机演员角色生成技术领域,特别是一种自动创建演员的方法及系统。
背景技术
现有技术对计算机生成演员角色的局限性高,通常只针对某一种演员,且不支持演员行为的生成与控制,拓展困难,无法广泛使用。
发明内容
为克服上述问题,本发明的目的是提供一种能够通过将演员及其行为的描述信息进行提取生成演员并执行演员行为,并支持交互逻辑的反馈的自动创建演员的方法。
本发明采用以下方案实现:一种自动创建演员的方法,所述方法包括以下步骤:
步骤S1、获取处理器及注册所有程序集中的处理器;
步骤S2、在处理器内输入演员创建数据;
步骤S3、从演员创建数据中提取有效数据,通过网络请求获取Json在线解析工具创建数据;
步骤S4、将Json在线解析工具创建数据转化为统一的演员数据,进而获取其中用于演员创建的演员数据创建演员实例;
步骤S5、获取演员实例,判断演员实例是否有效,是,则通过提取传入的演员创建数据中的演员类型生成演员的处理器类型,调用处理器获取演员处理器,进而将演员创建数据中的创建参数传递给演员处理器,实现演员的创建;否,则直接停止;
步骤S6、演员创建后,从演员创建数据中读取行为相关数据,根据行为相关数据执行行为;
步骤S7、等待用户交互,接受交互事件,执行交互事件,判断该交互事件是否为演员销毁事件,是,则结束,否,则继续等待用户进行交互。
进一步的,所述步骤S1进一步包括以下步骤:
步骤S11、输入处理器类型,判断是否包含此类型的处理器,是,则判断处理器是否为静态处理器,否,则返回创建失败异常;
步骤S12、判断处理器是否为静态处理器,是,则返回记录的静态处理器实例,停止操作,否,则创建一个此类型的处理器实例,返回创建的处理器;
步骤S13、注册获取处理器基础上所在的程序集,获取当前应用程序中的所有程序集;
步骤S14、筛选其中与基础程序集有引用关系的程序集,将有引用关系的程序集加入一个程序集队列中,判断程序集队列是否为空,是,则注册完成,否,则从程序集队列中读取一个程序集;
步骤S15、获取程序集中的所有类类型,筛选其中继承自处理器基础类的类型,将继承自处理器基础类的类型加入一个类型队列中;
步骤S16、判断该类型队列是否为空,是,则判断程序集队列中是否还有其他程序集,否,则从类型队列中读取一个类型,尝试创建一个类型的实例,判断是否创建成功,是,则获取实例上的类型字段,否,则判断程序集队列中是否还有其他程序集;
步骤S17、判断类型字段是否已经被处理器集合注册,是,则判断已注册的类型字段与该类型字段是否相同,否,将此类型字段注册到处理器集合中;
步骤S18、判断已注册的类型字段与该类型字段是否相同,是,则打印提示信息“重复注册”,否,则打印提示信息“注册类型变更”,将此类型字段覆盖处理器集合中的注册,判断此类型字段是否继承自静态处理器基础,是,则初始化此类型字段的实例,判断此类型字段是否已经被静态处理器集合注册,否,则销毁此类型字段的实例,判断类型队列中是否还有其他类类型;
步骤S19、判断此类型字段是否已经被静态处理器集合注册,是,则将此类型实例覆盖静态处理器集合中的注册,否,则将此类型实例注册到静态处理器集合中;判断此类型队列中是否还有其他类型,是,则从类型队列中读取一个类型,否,则判断程序集队列中是否还有其他程序集,是,则从程序集队列中读取一个程序集,否,则注册完成。
进一步的,所述步骤S2进一步具体包括以下步骤:
步骤S21、输入演员创建数据参数,生成演员的处理器类型;
步骤S22、获取演员处理器,判断是否包含该演员类型的处理器,是,则创建个空节点对象,否,则返回创建失败异常;
步骤S23、将空节点对象绑定在演员处理器上,执行演员处理器的初始化方法传递创建参数,完成创建后返回演员处理器。
进一步的,所述步骤S3进一步包括以下步骤:
步骤S31、输入演员创建参数,判断演员创建参数是否包含需要网络请求的数据,是,则网络请求获取创建数据,否,则继续判断演员创建参数是否包含需要网络请求的数据;
步骤S32、判断演员创建参数是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换成演员数据,将演员数据记录到演员处理器中,否,则直接将演员数据记录到演员处理器中;
步骤S33、从演员数据中读取创建所需的演员数据,判断是否满足演员创建需要,是,则基于创建所需的演员数据创建演员实例,否,则返回演员创建失败异常;
步骤S34、根据创建的演员数据并注册行为处理器实例到演员处理器的行为处理器中,执行行为处理器初始化方法传递演员创建参数;
步骤S35、完成创建返回演员处理器。
进一步的,所述步骤S4进一步具体包括以下步骤:
步骤S41、输入数据,判断输入类型是否为Json在线解析工具数据,是,则将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则判断是否为Json在线解析工具文件路径;
步骤S42、创建一个新演员数据,将Json在线解析工具数据的基础数据填充到演员数据的对应字段值中,无匹配字段的数据填充到演员数据的拓展字段队列中;
步骤S43、判断是否为根节点数据,是,则记录为根节点数据演员数据,否,则添加到父节点演员数据的子数据中;
步骤S44、判断Json在线解析工具数据是否包含子数据,是,则创建一个新演员数据,否,则返回创建的根节点UI数据;
步骤S45、判断是否为Json在线解析工具文件路径,是,则读取文件中的Json在线解析工具数据,将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则停止。
进一步的,所述步骤S6进一步具体包括以下步骤:
步骤S61、输入行为执行参数,判断行为执行参数中是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换为演员数据,从演员数据中读取行为数据,否,则直接从演员数据中读取行为数据;
步骤S62、判断该行为数据是否有效,是,则将行为数据记录到行为处理器中,否,返回行为执行失败异常;
步骤S63、从行为数据中读取行为执行所需数据,根据执行所需数据执行行为;
步骤S64、完成行为执行返回行为处理器。
进一步的,所述步骤S7进一步具体包括以下步骤:
步骤S71、演员创建结束后,创建演员实例;
步骤S72、通过演员数据执行演员预设行为;
步骤S73、等待用户交互,根据演员处理器接收交互事件;
步骤S74、再通过行为处理器执行交互事件,判断该交互事件是否为演员销毁事件,是,则直接停止,否,则继续等待用户交互。
本发明还提供了一种自动创建演员的系统,包括对象工厂模块、演员工厂模块、演员处理器模块、数据转换模块、创建演员模块、行为处理器模块和演员交互模块;所述对象工厂模块,即获取处理器及注册所有程序集中的处理器;所述演员工厂模块,即在处理器内输入演员创建数据;所述演员处理器模块,即从演员创建数据中提取有效数据,通过网络请求获取Json在线解析工具创建数据;所述数据转换模块,即将Json在线解析工具创建数据转化为统一的演员数据,进而获取其中用于演员创建的演员数据创建演员实例;所述创建演员模块,即获取演员实例,判断演员实例是否有效,是,则通过提取传入的演员创建数据中的演员类型生成演员的处理器类型,调用处理器获取演员处理器,进而将演员创建数据中的创建参数传递给演员处理器,实现演员的创建;否,则直接停止;所述行为处理器模块,即演员创建后,从演员创建数据中读取行为相关数据,根据行为相关数据执行行为;所述演员交互模块,即等待用户交互,接受交互事件,执行交互事件,判断该交互事件是否为演员销毁事件,是,则结束,否,则继续等待用户进行交互。
进一步的,所述对象工厂模块包括输入单元、处理器单元、注册单元、筛选单元、获取单元、判断类型队列单元、判断类型字段单元、提示单元和完成单元;所述输入单元,即输入处理器类型,判断是否包含此类型的处理器,是,则判断处理器是否为静态处理器,否,则返回创建失败异常;所述处理器单元,即判断处理器是否为静态处理器,是,则返回记录的静态处理器实例,停止操作,否,则创建一个此类型的处理器实例,返回创建的处理器;所述注册单元,即注册获取处理器基础上所在的程序集,获取当前应用程序中的所有程序集;所述筛选单元,即筛选其中与基础程序集有引用关系的程序集,将有引用关系的程序集加入一个程序集队列中,判断程序集队列是否为空,是,则注册完成,否,则从程序集队列中读取一个程序集;所述获取单元,即获取程序集中的所有类类型,筛选其中继承自处理器基础类的类型,将继承自处理器基础类的类型加入一个类型队列中;所述判断类型队列单元,即判断该类型队列是否为空,是,则判断程序集队列中是否还有其他程序集,否,则从类型队列中读取一个类型,尝试创建一个类型的实例,判断是否创建成功,是,则获取实例上的类型字段,否,则判断程序集队列中是否还有其他程序集;所述判断类型字段单元,即判断类型字段是否已经被处理器集合注册,是,则判断已注册的类型字段与该类型字段是否相同,否,将此类型字段注册到处理器集合中;所述提示单元,即判断已注册的类型字段与该类型字段是否相同,是,则打印提示信息“重复注册”,否,则打印提示信息“注册类型变更”,将此类型字段覆盖处理器集合中的注册,判断此类型字段是否继承自静态处理器基础,是,则初始化此类型字段的实例,判断此类型字段是否已经被静态处理器集合注册,否,则销毁此类型字段的实例,判断类型队列中是否还有其他类类型;所述完成单元,即判断此类型字段是否已经被静态处理器集合注册,是,则将此类型实例覆盖静态处理器集合中的注册,否,则将此类型实例注册到静态处理器集合中;判断此类型队列中是否还有其他类型,是,则从类型队列中读取一个类型,否,则判断程序集队列中是否还有其他程序集,是,则从程序集队列中读取一个程序集,否,则注册完成。
进一步的,所述演员工厂模块包括数据参数单元、判断演员处理器类型单元和执行单元;所述数据参数单元,即输入演员创建数据参数,生成演员的处理器类型;所述判断演员处理器类型单元,即获取演员处理器,判断是否包含该演员类型的处理器,是,则创建个空节点对象,否,则返回创建失败异常;所述执行单元,即将空节点对象绑定在演员处理器上,执行演员处理器的初始化方法传递创建参数,完成创建后返回演员处理器。
进一步的,所述演员处理器模块包括演员创建参数单元、转换单元、读取单元、传递单元和返回单元;所述演员创建参数单元,即输入演员创建参数,判断演员创建参数是否包含需要网络请求的数据,是,则网络请求获取创建数据,否,则继续判断演员创建参数是否包含需要网络请求的数据;所述转换单元,即判断演员创建参数是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换成演员数据,将演员数据记录到演员处理器中,否,则直接将演员数据记录到演员处理器中;所述读取单元,即从演员数据中读取创建所需的演员数据,判断是否满足演员创建需要,是,则基于创建所需的演员数据创建演员实例,否,则返回演员创建失败异常;所述传递单元,即根据创建的演员数据并注册行为处理器实例到演员处理器的行为处理器中,执行行为处理器初始化方法传递演员创建参数;所述返回单元,即完成创建返回演员处理器。
进一步的,所述数据转换模块包括判断输入类型单元、填充单元、根节点数据单元、判断子数据单元和识别单元;所述判断输入类型单元,即输入数据,判断输入类型是否为Json在线解析工具数据,是,则将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则判断是否为Json在线解析工具文件路径;所述填充单元,即创建一个新演员数据,将Json在线解析工具数据的基础数据填充到演员数据的对应字段值中,无匹配字段的数据填充到演员数据的拓展字段队列中;所述根节点数据单元,即判断是否为根节点数据,是,则记录为根节点数据演员数据,否,则添加到父节点演员数据的子数据中;所述判断子数据单元,即判断Json在线解析工具数据是否包含子数据,是,则创建一个新演员数据,否,则返回创建的根节点UI数据;所述识别单元,即判断是否为Json在线解析工具文件路径,是,则读取文件中的Json在线解析工具数据,将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则停止。
进一步的,所述行为处理器模块包括行为执行参数单元、判断行为数据单元、读取行为数据单元和行为执行返回单元;所述行为执行参数单元,即输入行为执行参数,判断行为执行参数中是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换为演员数据,从演员数据中读取行为数据,否,则直接从演员数据中读取行为数据;所述判断行为数据单元,即判断该行为数据是否有效,是,则将行为数据记录到行为处理器中,否,返回行为执行失败异常;所述读取行为数据单元,即从行为数据中读取行为执行所需数据,根据执行所需数据执行行为;所述行为执行返回单元,即完成行为执行返回行为处理器。
进一步的,所述演员交互模块包括创建结束单元、执行行为单元、交互单元和判断交互事件单元;所述创建结束单元,即演员创建结束后,创建演员实例;所述执行行为单元,即通过演员数据执行演员预设行为;所述交互单元,即等待用户交互,根据演员处理器接收交互事件;所述判断交互事件单元,即再通过行为处理器执行交互事件,判断该交互事件是否为演员销毁事件,是,则直接停止,否,则继续等待用户交互。
本发明的有益效果在于:本发明通过将演员唯一ID或Json数据转换为统一的通用演员数据,通过演员数据实现演员及其行为的自动生成,并通过行为处理器模块实现完备的演员行为交互流程;本发明通过演员唯一ID、Json数据或动态构建的通用演员数据生成演员及其行为,减少了演员及其行为生产和开发消耗,缩短了演员及其行为开发周期,加快了开发进度;且使用本发明生产的演员具有统一的调用风格,更少的演员文件与代码,更易维护,后期维护成本更低。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的系统原理框图。
图3为对象工厂模块获取处理器流程图。
图4为所述对象工厂模块所有程序集中的处理器流程图。
图5为所述行为处理器模块流程图。
图6为所述数据转换模块流程图。
图7为所述演员处理器模块流程图。
图8为所述演员工厂模块流程图。
图9为所述演员交互模块流程图。
图10为所述创建演员模块流程图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种自动创建演员的方法,所述方法包括以下步骤:
步骤S1、获取处理器及注册所有程序集中的处理器;
步骤S2、在处理器内输入演员创建数据;
步骤S3、从演员创建数据中提取有效数据,通过网络请求获取Json在线解析工具创建数据;
步骤S4、将Json在线解析工具创建数据转化为统一的演员数据,进而获取其中用于演员创建的演员数据创建演员实例;
步骤S5、获取演员实例,判断演员实例是否有效,是,则通过提取传入的演员创建数据中的演员类型生成演员的处理器类型,调用处理器获取演员处理器,进而将演员创建数据中的创建参数传递给演员处理器,实现演员的创建;否,则直接停止;
步骤S6、演员创建后,从演员创建数据中读取行为相关数据,根据行为相关数据执行行为;
步骤S7、等待用户交互,接受交互事件,执行交互事件,判断该交互事件是否为演员销毁事件,是,则结束,否,则继续等待用户进行交互。
下面通过一具体实施例对本发明作进一步说明:
1)演员工厂模块
该模块为本发明的主入口,通过提取传入的演员创建数据中的演员类型生成演员的处理器类型,调用对象工厂模块获取演员处理器,进而将演员创建数据中的创建参数传递给演员处理器模块,实现演员的创建过程。
创建数据定义:创建数据包括演员类型、创建参数、创建完成回调。
演员类型定义:演员类型包括人形角色演员、动物演员、化学分子演员、生子卡演员、龙套演员等。
处理器类型定义:演员处理器、行为处理器等处理器都具有一个唯一的类型,使用Type字段进行描述,例如演员处理器类型为“Actor_”+演员类型构成,可以基于演员类型进行生成。
2)对象工厂模块
该模块包含对象工厂模块获取处理器及注册所有程序集中的处理器两个功能,为演员工厂模块、演员处理器模块提供处理器的获取能力。
3)数据转换模块
该模块为演员处理器模块与行为处理器模块提供数据转换的能力,实现将Json数据或Json文件路径转换为统一的演员数据。
4)演员处理器模块
该模块实现从演员创建参数中提取有效数据,通过网络请求获取Json创建数据,调用数据转换模块将Json创建数据转为统一的演员数据,进而获取其中用于演员创建的演员数据创建演员实例,并根据其中行为相关的数据创建并注册行为处理器、执行行为处理器的初始化。
有效数据定义:传入的数据中可能包含为空的数据、无法识别的数据,我们将其进行过滤,其余的数据视为有效数据
5)行为处理器模块
该模块实现演员行为的执行逻辑,通过调用数据转换模块将Json数据转换为统一的演员数据,进而从演员数据中读取行为相关数据,根据其中与行为执行有关的数据执行行为。
本发明适用于所有类型演员及其行为的生成,包括但不限于游戏中的演员及其行为、编辑器中的演员及其行为、其它应用程序中的演员及其行为。
总之,本发明基于演员唯一ID获取演员Json数据生成统一的通用演员数据结构,然后通过演员数据解析生成演员实例。当收到演员交互指令时时触发处理事件,实现完备的演员交互系统。
本发明中演员的定义包括但不限于人形角色演员、动物演员、化学分子演员、生子卡演员、龙套演员等;本发明可应用于所有类型演员的生成与交互过程。和常规的演员角色开发不同,本发明通过将演员及其行为的描述信息进行提取快速生成演员并执行演员行为,并支持交互逻辑的反馈。本发明解决了演员角色使用复杂、无法动态构建等问题。
请参阅图2和图10所示,本发明还提供了一种自动创建演员的系统,包括对象工厂模块、演员工厂模块、演员处理器模块、数据转换模块、创建演员模块、行为处理器模块和演员交互模块;所述对象工厂模块,即获取处理器及注册所有程序集中的处理器;所述演员工厂模块,即在处理器内输入演员创建数据;所述演员处理器模块,即从演员创建数据中提取有效数据,通过网络请求获取Json在线解析工具创建数据;所述数据转换模块,即将Json在线解析工具创建数据转化为统一的演员数据,进而获取其中用于演员创建的演员数据创建演员实例;所述创建演员模块,即获取演员实例,判断演员实例是否有效,是,则通过提取传入的演员创建数据中的演员类型生成演员的处理器类型,调用处理器获取演员处理器,进而将演员创建数据中的创建参数传递给演员处理器,实现演员的创建;否,则直接停止;所述行为处理器模块,即演员创建后,从演员创建数据中读取行为相关数据,根据行为相关数据执行行为;所述演员交互模块,即等待用户交互,接受交互事件,执行交互事件,判断该交互事件是否为演员销毁事件,是,则结束,否,则继续等待用户进行交互。
请参阅图3和图4所示,本发明一实施例中,所述对象工厂模块包括输入单元、处理器单元、注册单元、筛选单元、获取单元、判断类型队列单元、判断类型字段单元、提示单元和完成单元;所述输入单元,即输入处理器类型,判断是否包含此类型的处理器,是,则判断处理器是否为静态处理器,否,则返回创建失败异常;所述处理器单元,即判断处理器是否为静态处理器,是,则返回记录的静态处理器实例,停止操作,否,则创建一个此类型的处理器实例,返回创建的处理器;所述注册单元,即注册获取处理器基础上所在的程序集,获取当前应用程序中的所有程序集;所述筛选单元,即筛选其中与基础程序集有引用关系的程序集,将有引用关系的程序集加入一个程序集队列中,判断程序集队列是否为空,是,则注册完成,否,则从程序集队列中读取一个程序集;所述获取单元,即获取程序集中的所有类类型,筛选其中继承自处理器基础类的类型,将继承自处理器基础类的类型加入一个类型队列中;所述判断类型队列单元,即判断该类型队列是否为空,是,则判断程序集队列中是否还有其他程序集,否,则从类型队列中读取一个类型,尝试创建一个类型的实例,判断是否创建成功,是,则获取实例上的类型字段,否,则判断程序集队列中是否还有其他程序集;所述判断类型字段单元,即判断类型字段是否已经被处理器集合注册,是,则判断已注册的类型字段与该类型字段是否相同,否,将此类型字段注册到处理器集合中;所述提示单元,即判断已注册的类型字段与该类型字段是否相同,是,则打印提示信息“重复注册”,否,则打印提示信息“注册类型变更”,将此类型字段覆盖处理器集合中的注册,判断此类型字段是否继承自静态处理器基础,是,则初始化此类型字段的实例,判断此类型字段是否已经被静态处理器集合注册,否,则销毁此类型字段的实例,判断类型队列中是否还有其他类类型;所述完成单元,即判断此类型字段是否已经被静态处理器集合注册,是,则将此类型实例覆盖静态处理器集合中的注册,否,则将此类型实例注册到静态处理器集合中;判断此类型队列中是否还有其他类型,是,则从类型队列中读取一个类型,否,则判断程序集队列中是否还有其他程序集,是,则从程序集队列中读取一个程序集,否,则注册完成。
请参阅图8所示,本发明一实施例中,所述演员工厂模块包括数据参数单元、判断演员处理器类型单元和执行单元;所述数据参数单元,即输入演员创建数据参数,生成演员的处理器类型;所述判断演员处理器类型单元,即获取演员处理器,判断是否包含该演员类型的处理器,是,则创建个空节点对象,否,则返回创建失败异常;所述执行单元,即将空节点对象绑定在演员处理器上,执行演员处理器的初始化方法传递创建参数,完成创建后返回演员处理器。
请参阅图7所示,本发明一实施例中,所述演员处理器模块包括演员创建参数单元、转换单元、读取单元、传递单元和返回单元;所述演员创建参数单元,即输入演员创建参数,判断演员创建参数是否包含需要网络请求的数据,是,则网络请求获取创建数据,否,则继续判断演员创建参数是否包含需要网络请求的数据;所述转换单元,即判断演员创建参数是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换成演员数据,将演员数据记录到演员处理器中,否,则直接将演员数据记录到演员处理器中;所述读取单元,即从演员数据中读取创建所需的演员数据,判断是否满足演员创建需要,是,则基于创建所需的演员数据创建演员实例,否,则返回演员创建失败异常;所述传递单元,即根据创建的演员数据并注册行为处理器实例到演员处理器的行为处理器中,执行行为处理器初始化方法传递演员创建参数;所述返回单元,即完成创建返回演员处理器。
请参阅图6所示,本发明一实施例中,所述数据转换模块包括判断输入类型单元、填充单元、根节点数据单元、判断子数据单元和识别单元;所述判断输入类型单元,即输入数据,判断输入类型是否为Json在线解析工具数据,是,则将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则判断是否为Json在线解析工具文件路径;所述填充单元,即创建一个新演员数据,将Json在线解析工具数据的基础数据填充到演员数据的对应字段值中,无匹配字段的数据填充到演员数据的拓展字段队列中;所述根节点数据单元,即判断是否为根节点数据,是,则记录为根节点数据演员数据,否,则添加到父节点演员数据的子数据中;所述判断子数据单元,即判断Json在线解析工具数据是否包含子数据,是,则创建一个新演员数据,否,则返回创建的根节点UI数据;所述识别单元,即判断是否为Json在线解析工具文件路径,是,则读取文件中的Json在线解析工具数据,将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则停止。
请参阅图5所示,本发明一实施例中,所述行为处理器模块包括行为执行参数单元、判断行为数据单元、读取行为数据单元和行为执行返回单元;所述行为执行参数单元,即输入行为执行参数,判断行为执行参数中是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换为演员数据,从演员数据中读取行为数据,否,则直接从演员数据中读取行为数据;所述判断行为数据单元,即判断该行为数据是否有效,是,则将行为数据记录到行为处理器中,否,返回行为执行失败异常;所述读取行为数据单元,即从行为数据中读取行为执行所需数据,根据执行所需数据执行行为;所述行为执行返回单元,即完成行为执行返回行为处理器。
请参阅图9所示,本发明一实施例中,所述演员交互模块包括创建结束单元、执行行为单元、交互单元和判断交互事件单元;所述创建结束单元,即演员创建结束后,创建演员实例;所述执行行为单元,即通过演员数据执行演员预设行为;所述交互单元,即等待用户交互,根据演员处理器接收交互事件;所述判断交互事件单元,即再通过行为处理器执行交互事件,判断该交互事件是否为演员销毁事件,是,则直接停止,否,则继续等待用户交互。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (14)
1.一种自动创建演员的方法,其特征在于,所述方法包括以下步骤:
步骤S1、获取处理器及注册所有程序集中的处理器;
步骤S2、在处理器内输入演员创建数据;
步骤S3、从演员创建数据中提取有效数据,通过网络请求获取Json在线解析工具创建数据;
步骤S4、将Json在线解析工具创建数据转化为统一的演员数据,进而获取其中用于演员创建的演员数据创建演员实例;
步骤S5、获取演员实例,判断演员实例是否有效,是,则通过提取传入的演员创建数据中的演员类型生成演员的处理器类型,调用处理器获取演员处理器,进而将演员创建数据中的创建参数传递给演员处理器,实现演员的创建;否,则直接停止;
步骤S6、演员创建后,从演员创建数据中读取行为相关数据,根据行为相关数据执行行为;
步骤S7、等待用户交互,接受交互事件,执行交互事件,判断该交互事件是否为演员销毁事件,是,则结束,否,则继续等待用户进行交互。
2.根据权利要求1所述的一种自动创建演员的方法,其特征在于:所述步骤S1进一步包括以下步骤:
步骤S11、输入处理器类型,判断是否包含此类型的处理器,是,则判断处理器是否为静态处理器,否,则返回创建失败异常;
步骤S12、判断处理器是否为静态处理器,是,则返回记录的静态处理器实例,停止操作,否,则创建一个此类型的处理器实例,返回创建的处理器;
步骤S13、注册获取处理器基础上所在的程序集,获取当前应用程序中的所有程序集;
步骤S14、筛选其中与基础程序集有引用关系的程序集,将有引用关系的程序集加入一个程序集队列中,判断程序集队列是否为空,是,则注册完成,否,则从程序集队列中读取一个程序集;
步骤S15、获取程序集中的所有类类型,筛选其中继承自处理器基础类的类型,将继承自处理器基础类的类型加入一个类型队列中;
步骤S16、判断该类型队列是否为空,是,则判断程序集队列中是否还有其他程序集,否,则从类型队列中读取一个类型,尝试创建一个类型的实例,判断是否创建成功,是,则获取实例上的类型字段,否,则判断程序集队列中是否还有其他程序集;
步骤S17、判断类型字段是否已经被处理器集合注册,是,则判断已注册的类型字段与该类型字段是否相同,否,将此类型字段注册到处理器集合中;
步骤S18、判断已注册的类型字段与该类型字段是否相同,是,则打印提示信息“重复注册”,否,则打印提示信息“注册类型变更”,将此类型字段覆盖处理器集合中的注册,判断此类型字段是否继承自静态处理器基础,是,则初始化此类型字段的实例,判断此类型字段是否已经被静态处理器集合注册,否,则销毁此类型字段的实例,判断类型队列中是否还有其他类类型;
步骤S19、判断此类型字段是否已经被静态处理器集合注册,是,则将此类型实例覆盖静态处理器集合中的注册,否,则将此类型实例注册到静态处理器集合中;判断此类型队列中是否还有其他类型,是,则从类型队列中读取一个类型,否,则判断程序集队列中是否还有其他程序集,是,则从程序集队列中读取一个程序集,否,则注册完成。
3.根据权利要求1所述的一种自动创建演员的方法,其特征在于:所述步骤S2进一步具体包括以下步骤:
步骤S21、输入演员创建数据参数,生成演员的处理器类型;
步骤S22、获取演员处理器,判断是否包含该演员类型的处理器,是,则创建个空节点对象,否,则返回创建失败异常;
步骤S23、将空节点对象绑定在演员处理器上,执行演员处理器的初始化方法传递创建参数,完成创建后返回演员处理器。
4.根据权利要求1所述的一种自动创建演员的方法,其特征在于:所述步骤S3进一步包括以下步骤:
步骤S31、输入演员创建参数,判断演员创建参数是否包含需要网络请求的数据,是,则网络请求获取创建数据,否,则继续判断演员创建参数是否包含需要网络请求的数据;
步骤S32、判断演员创建参数是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换成演员数据,将演员数据记录到演员处理器中,否,则直接将演员数据记录到演员处理器中;
步骤S33、从演员数据中读取创建所需的演员数据,判断是否满足演员创建需要,是,则基于创建所需的演员数据创建演员实例,否,则返回演员创建失败异常;
步骤S34、根据创建的演员数据并注册行为处理器实例到演员处理器的行为处理器中,执行行为处理器初始化方法传递演员创建参数;
步骤S35、完成创建返回演员处理器。
5.根据权利要求1所述的一种自动创建演员的方法,其特征在于:所述步骤S4进一步具体包括以下步骤:
步骤S41、输入数据,判断输入类型是否为Json在线解析工具数据,是,则将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则判断是否为Json在线解析工具文件路径;
步骤S42、创建一个新演员数据,将Json在线解析工具数据的基础数据填充到演员数据的对应字段值中,无匹配字段的数据填充到演员数据的拓展字段队列中;
步骤S43、判断是否为根节点数据,是,则记录为根节点数据演员数据,否,则添加到父节点演员数据的子数据中;
步骤S44、判断Json在线解析工具数据是否包含子数据,是,则创建一个新演员数据,否,则返回创建的根节点UI数据;
步骤S45、判断是否为Json在线解析工具文件路径,是,则读取文件中的Json在线解析工具数据,将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则停止。
6.根据权利要求1所述的一种自动创建演员的方法,其特征在于:所述步骤S6进一步具体包括以下步骤:
步骤S61、输入行为执行参数,判断行为执行参数中是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换为演员数据,从演员数据中读取行为数据,否,则直接从演员数据中读取行为数据;
步骤S62、判断该行为数据是否有效,是,则将行为数据记录到行为处理器中,否,返回行为执行失败异常;
步骤S63、从行为数据中读取行为执行所需数据,根据执行所需数据执行行为;
步骤S64、完成行为执行返回行为处理器。
7.根据权利要求1所述的一种自动创建演员的方法,其特征在于:所述步骤S7进一步具体包括以下步骤:
步骤S71、演员创建结束后,创建演员实例;
步骤S72、通过演员数据执行演员预设行为;
步骤S73、等待用户交互,根据演员处理器接收交互事件;
步骤S74、再通过行为处理器执行交互事件,判断该交互事件是否为演员销毁事件,是,则直接停止,否,则继续等待用户交互。
8.一种自动创建演员的系统,其特征在于:包括对象工厂模块、演员工厂模块、演员处理器模块、数据转换模块、创建演员模块、行为处理器模块和演员交互模块;所述对象工厂模块,即获取处理器及注册所有程序集中的处理器;所述演员工厂模块,即在处理器内输入演员创建数据;所述演员处理器模块,即从演员创建数据中提取有效数据,通过网络请求获取Json在线解析工具创建数据;所述数据转换模块,即将Json在线解析工具创建数据转化为统一的演员数据,进而获取其中用于演员创建的演员数据创建演员实例;所述创建演员模块,即获取演员实例,判断演员实例是否有效,是,则通过提取传入的演员创建数据中的演员类型生成演员的处理器类型,调用处理器获取演员处理器,进而将演员创建数据中的创建参数传递给演员处理器,实现演员的创建;否,则直接停止;所述行为处理器模块,即演员创建后,从演员创建数据中读取行为相关数据,根据行为相关数据执行行为;所述演员交互模块,即等待用户交互,接受交互事件,执行交互事件,判断该交互事件是否为演员销毁事件,是,则结束,否,则继续等待用户进行交互。
9.根据权利要求8所述的一种自动创建演员的系统,其特征在于:所述对象工厂模块包括输入单元、处理器单元、注册单元、筛选单元、获取单元、判断类型队列单元、判断类型字段单元、提示单元和完成单元;所述输入单元,即输入处理器类型,判断是否包含此类型的处理器,是,则判断处理器是否为静态处理器,否,则返回创建失败异常;所述处理器单元,即判断处理器是否为静态处理器,是,则返回记录的静态处理器实例,停止操作,否,则创建一个此类型的处理器实例,返回创建的处理器;所述注册单元,即注册获取处理器基础上所在的程序集,获取当前应用程序中的所有程序集;所述筛选单元,即筛选其中与基础程序集有引用关系的程序集,将有引用关系的程序集加入一个程序集队列中,判断程序集队列是否为空,是,则注册完成,否,则从程序集队列中读取一个程序集;所述获取单元,即获取程序集中的所有类类型,筛选其中继承自处理器基础类的类型,将继承自处理器基础类的类型加入一个类型队列中;所述判断类型队列单元,即判断该类型队列是否为空,是,则判断程序集队列中是否还有其他程序集,否,则从类型队列中读取一个类型,尝试创建一个类型的实例,判断是否创建成功,是,则获取实例上的类型字段,否,则判断程序集队列中是否还有其他程序集;所述判断类型字段单元,即判断类型字段是否已经被处理器集合注册,是,则判断已注册的类型字段与该类型字段是否相同,否,将此类型字段注册到处理器集合中;所述提示单元,即判断已注册的类型字段与该类型字段是否相同,是,则打印提示信息“重复注册”,否,则打印提示信息“注册类型变更”,将此类型字段覆盖处理器集合中的注册,判断此类型字段是否继承自静态处理器基础,是,则初始化此类型字段的实例,判断此类型字段是否已经被静态处理器集合注册,否,则销毁此类型字段的实例,判断类型队列中是否还有其他类类型;所述完成单元,即判断此类型字段是否已经被静态处理器集合注册,是,则将此类型实例覆盖静态处理器集合中的注册,否,则将此类型实例注册到静态处理器集合中;判断此类型队列中是否还有其他类型,是,则从类型队列中读取一个类型,否,则判断程序集队列中是否还有其他程序集,是,则从程序集队列中读取一个程序集,否,则注册完成。
10.根据权利要求8所述的一种自动创建演员的系统,其特征在于:所述演员工厂模块包括数据参数单元、判断演员处理器类型单元和执行单元;所述数据参数单元,即输入演员创建数据参数,生成演员的处理器类型;所述判断演员处理器类型单元,即获取演员处理器,判断是否包含该演员类型的处理器,是,则创建个空节点对象,否,则返回创建失败异常;所述执行单元,即将空节点对象绑定在演员处理器上,执行演员处理器的初始化方法传递创建参数,完成创建后返回演员处理器。
11.根据权利要求8所述的一种自动创建演员的系统,其特征在于:所述演员处理器模块包括演员创建参数单元、转换单元、读取单元、传递单元和返回单元;所述演员创建参数单元,即输入演员创建参数,判断演员创建参数是否包含需要网络请求的数据,是,则网络请求获取创建数据,否,则继续判断演员创建参数是否包含需要网络请求的数据;所述转换单元,即判断演员创建参数是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换成演员数据,将演员数据记录到演员处理器中,否,则直接将演员数据记录到演员处理器中;所述读取单元,即从演员数据中读取创建所需的演员数据,判断是否满足演员创建需要,是,则基于创建所需的演员数据创建演员实例,否,则返回演员创建失败异常;所述传递单元,即根据创建的演员数据并注册行为处理器实例到演员处理器的行为处理器中,执行行为处理器初始化方法传递演员创建参数;所述返回单元,即完成创建返回演员处理器。
12.根据权利要求8所述的一种自动创建演员的系统,其特征在于:所述数据转换模块包括判断输入类型单元、填充单元、根节点数据单元、判断子数据单元和识别单元;所述判断输入类型单元,即输入数据,判断输入类型是否为Json在线解析工具数据,是,则将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则判断是否为Json在线解析工具文件路径;所述填充单元,即创建一个新演员数据,将Json在线解析工具数据的基础数据填充到演员数据的对应字段值中,无匹配字段的数据填充到演员数据的拓展字段队列中;所述根节点数据单元,即判断是否为根节点数据,是,则记录为根节点数据演员数据,否,则添加到父节点演员数据的子数据中;所述判断子数据单元,即判断Json在线解析工具数据是否包含子数据,是,则创建一个新演员数据,否,则返回创建的根节点UI数据;所述识别单元,即判断是否为Json在线解析工具文件路径,是,则读取文件中的Json在线解析工具数据,将Json在线解析工具数据识别为Json在线解析工具实例类型,否,则停止。
13.根据权利要求8所述的一种自动创建演员的系统,其特征在于:所述行为处理器模块包括行为执行参数单元、判断行为数据单元、读取行为数据单元和行为执行返回单元;所述行为执行参数单元,即输入行为执行参数,判断行为执行参数中是否包含需要转换的Json在线解析工具数据,是,则将Json在线解析工具数据转换为演员数据,从演员数据中读取行为数据,否,则直接从演员数据中读取行为数据;所述判断行为数据单元,即判断该行为数据是否有效,是,则将行为数据记录到行为处理器中,否,返回行为执行失败异常;所述读取行为数据单元,即从行为数据中读取行为执行所需数据,根据执行所需数据执行行为;所述行为执行返回单元,即完成行为执行返回行为处理器。
14.根据权利要求8所述的一种自动创建演员的系统,其特征在于:所述演员交互模块包括创建结束单元、执行行为单元、交互单元和判断交互事件单元;所述创建结束单元,即演员创建结束后,创建演员实例;所述执行行为单元,即通过演员数据执行演员预设行为;所述交互单元,即等待用户交互,根据演员处理器接收交互事件;所述判断交互事件单元,即再通过行为处理器执行交互事件,判断该交互事件是否为演员销毁事件,是,则直接停止,否,则继续等待用户交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110655103.1A CN113268469B (zh) | 2021-06-11 | 2021-06-11 | 一种自动创建演员的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110655103.1A CN113268469B (zh) | 2021-06-11 | 2021-06-11 | 一种自动创建演员的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268469A true CN113268469A (zh) | 2021-08-17 |
CN113268469B CN113268469B (zh) | 2022-09-06 |
Family
ID=77234888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110655103.1A Active CN113268469B (zh) | 2021-06-11 | 2021-06-11 | 一种自动创建演员的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268469B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250165A (zh) * | 2016-06-12 | 2016-12-21 | 杭州无量网络科技有限公司 | 应用程序组件管理方法及系统 |
CN106445497A (zh) * | 2016-06-12 | 2017-02-22 | 杭州勒芒科技有限公司 | 应用程序开发方法及系统 |
US20180268305A1 (en) * | 2017-03-20 | 2018-09-20 | International Business Machines Corporation | Retrospective event verification using cognitive reasoning and analysis |
US20190196798A1 (en) * | 2016-09-09 | 2019-06-27 | Omron Corporation | Executable program creation device, executable program creation method, and executable program creation program |
CN110083342A (zh) * | 2019-04-26 | 2019-08-02 | 重庆紫光华山智安科技有限公司 | 一种程序生成方法、装置以及计算机可读存储介质 |
CN110377275A (zh) * | 2019-07-18 | 2019-10-25 | 中汇信息技术(上海)有限公司 | 自动创建应用程序的方法和存储介质 |
CN111443961A (zh) * | 2020-03-24 | 2020-07-24 | 广州华多网络科技有限公司 | 终端设备及其跨进程通信方法 |
-
2021
- 2021-06-11 CN CN202110655103.1A patent/CN113268469B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250165A (zh) * | 2016-06-12 | 2016-12-21 | 杭州无量网络科技有限公司 | 应用程序组件管理方法及系统 |
CN106445497A (zh) * | 2016-06-12 | 2017-02-22 | 杭州勒芒科技有限公司 | 应用程序开发方法及系统 |
US20190196798A1 (en) * | 2016-09-09 | 2019-06-27 | Omron Corporation | Executable program creation device, executable program creation method, and executable program creation program |
US20180268305A1 (en) * | 2017-03-20 | 2018-09-20 | International Business Machines Corporation | Retrospective event verification using cognitive reasoning and analysis |
CN110083342A (zh) * | 2019-04-26 | 2019-08-02 | 重庆紫光华山智安科技有限公司 | 一种程序生成方法、装置以及计算机可读存储介质 |
CN110377275A (zh) * | 2019-07-18 | 2019-10-25 | 中汇信息技术(上海)有限公司 | 自动创建应用程序的方法和存储介质 |
CN111443961A (zh) * | 2020-03-24 | 2020-07-24 | 广州华多网络科技有限公司 | 终端设备及其跨进程通信方法 |
Non-Patent Citations (1)
Title |
---|
黎泽龙,张阳,薛原,李晓燕: "基于XML的数据库接口自动生成技术设计与应用", 《计算机与数字工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113268469B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3011442B1 (en) | Method and apparatus for customized software development kit (sdk) generation | |
Zimmermann et al. | Combining pattern languages and reusable architectural decision models into a comprehensive and comprehensible design method | |
US7334223B2 (en) | Apparatus and method for automatically migrating client server applications to other architectures and platforms | |
US7543299B2 (en) | Creating web services programs from other web services programs | |
CN110244942B (zh) | 一种页面生成方法、装置及系统 | |
CN104158836A (zh) | 一种通过数据渲染移动应用界面的方法 | |
CN103336705A (zh) | 脚本处理和工作流系统间的自动转码和语义自适应 | |
CN1835507A (zh) | 用于用户与web浏览器交互的服务器端处理的方法与系统 | |
KR101316713B1 (ko) | 다국어뱅킹시스템 및 그 제어방법 | |
KR101787527B1 (ko) | 다중 플랫폼 위에서 실행되는 클라이언트 애플리케이션 개발용 프레임워크를 지원하기 위한 장치 및 이를 사용한 방법 | |
CN101377759A (zh) | 自动化界面测试系统 | |
US8621429B2 (en) | Software development support apparatus, function extension method and storage medium for storing function extension program | |
CN105808701B (zh) | 实现表单自动化验证及多系统间通讯的方法及系统 | |
CN109801677B (zh) | 测序数据自动化分析方法、装置和电子设备 | |
Suljkanović et al. | Developing microservice-based applications using the silvera domain-specific language | |
Gómez et al. | A model-based approach for developing event-driven architectures with asyncapi | |
CN112328231B (zh) | python字典和结构体间的快速转换方法 | |
CN113268469B (zh) | 一种自动创建演员的方法及系统 | |
JP5081888B2 (ja) | ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法 | |
Cavalcanti et al. | Structural genomic workflows supported by web services | |
JP2011065367A (ja) | ワークフロー管理装置、ワークフロー管理プログラムおよびワークフロー管理方法 | |
US20130246999A1 (en) | Method, apparatus and storage medium for customizing application | |
CN113467975B (zh) | 一种解耦的程序开发方法及系统 | |
Vadakkumcheril et al. | A simple implementation of uml sequence diagram to Java code generation through XMI representation | |
CN113064594B (zh) | 一种自动生成ui界面的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |