一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种游戏剧情状态管理的实现方法及其系统与流程

2022-02-20 00:36:01 来源:中国专利 TAG:

技术特征:
1.一种游戏剧情状态管理的实现方法,其特征在于:所述方法包括如下步骤:步骤s1、输入游戏剧情数据,解析游戏剧情数据生成堵塞时间轴;该堵塞时间轴为支持堵塞条件的时间轴,其中,堵塞时间轴剧情节点数据未设置堵塞条件节点时,时间轴将按照时间顺序正常运行;当设置了堵塞条件时,播放时间更新到堵塞条件节点时播放时间停止更新,等待堵塞条件满足后播放时间移动至下一个节点的开始位置继续播放;步骤s2、还原游戏剧情数据中的剧情状态数据,并更新堵塞时间轴的进度值;步骤s3、等待用户交互开启剧情播放,按堵塞时间轴分发堵塞时间轴对应的剧情状态数据;判断堵塞时间轴对应的剧情状态数据是否分发结束;是,停止结束流程;否,进行步骤s4;步骤s4、执行剧情状态数据中的剧情指令,继续按堵塞时间轴分发堵塞时间轴对应的剧情状态数据,等待剧情指令执行结束;步骤s5、记录剧情状态数据,等待用户交互,根据交互事件更新剧情状态数据与堵塞时间轴的进度值。2.根据权利要求1所述的一种游戏剧情状态管理的实现方法,其特征在于:所述解析游戏剧情数据生成堵塞时间轴进一步具体为:步骤s11、输入游戏剧情数据;该游戏剧情数据中包含多个子剧情数据,游戏剧情数据中记录的数据包括剧情指令及其执行方式、剧情节点时间长度、是否堵塞节点、堵塞条件、是否支持跳过;步骤s12、创建一个堵塞时间轴;步骤s13、读取游戏剧情数据中的所有剧情节点数据;将所有剧情节点数据加入一个剧情节点数据队列中;步骤s14、判断剧情节点数据队列是否为空,是,返回堵塞时间轴,并结束流程;否,进入步骤s15;步骤s15、从剧情节点数据队列中读取一个剧情节点数据,将剧情节点数据加入堵塞时间轴的当前节点位置;堵塞时间轴的当前时间值向后移动到剧情节点数据中接入的时间值;步骤s16、判断剧情节点数据中是否记录了堵塞值,该堵塞值为堵塞条件对应的数据值;否,进入步骤s17;是,堵塞时间轴中添加堵塞条件节点,设置堵塞值调整为剧情节点数据中记录的堵塞条件;堵塞时间轴当前时间轴向后移动一个堵塞节点单位时间值,进入步骤s17;步骤s17、判断剧情数据节点队列中是否还有其它剧情数据节点,是,执行步骤s15;否,返回堵塞时间轴,并结束流程。3.根据权利要求2所述的一种游戏剧情状态管理的实现方法,其特征在于:所述堵塞时间轴包括:堵塞时间轴的进度值和时间节点集合,所述时间节点集合由多个时间节点组成,每个时间节点包括时间长度、进度值、以及堵塞条件;所述剧情状态数据包括:当前剧情进度值和剧情指令集合,剧情指令集合由多个的剧情指令数据组成。4.根据权利要求3所述的一种游戏剧情状态管理的实现方法,其特征在于:所述步骤s2进一步具体为:步骤s21、输入剧情数据,从堵塞时间轴中读取堵塞时间轴的进度值,从存储文件中读取剧情状态数据,判断剧情状态数据是否为空,否,进入步骤s22,是,创建一个新
的剧情状态数据;并进入步骤s22;步骤s22、判断堵塞时间轴的进度值是否小于当前剧情进度值,是,进入步骤s24;否,进入步骤s23;步骤s23、更新剧情状态数据中的当前剧情进度值为堵塞时间轴的进度值,并将剧情状态数据保存至存储文件中,状态同步完成,并结束流程;步骤s24、从剧情状态数据的剧情指令集合中读取堵塞时间轴的进度值对应的剧情指令数据,读取剧情指令数据中的剧情指令;步骤s25、判断剧情指令是否有注册了对应的执行方式,是,执行对应的执行方式传入剧情指令数据并传入跳过执行过程参数,等待执行方式执行完成,进入步骤s26;否,直接进入步骤s26;步骤s26、剧情指令执行完成,更新堵塞时间轴的进度值为堵塞时间轴的下一时间节点,继续执行步骤s22。5.根据权利要求4所述的一种游戏剧情状态管理的实现方法,其特征在于:所述步骤s3进一步具体包括:步骤s31、输入堵塞时间轴对应的剧情状态数据;步骤s32、读取堵塞时间轴的进度值;步骤s33、判断堵塞时间轴是否执行完成,是,堵塞时间轴对应的剧情状态数据分发结束并结束流程,否,读取当前进度值的剧情状态数据;步骤s34、读取剧情状态数据中的剧情指令数据集合,将剧情指令数据集合中的数据加入一个剧情指令数据队列;步骤s35、判断剧情指令数据队列是否为空,是,更新堵塞时间轴进度值到下一节点,并执行步骤s33,否,执行步骤s36;步骤s36、从剧情指令数据队列中读取一个剧情指令数据,执行剧情指令数据;步骤s37、判断剧情指令数据队列中是否还有其它剧情指令数据,是,执行步骤s36;否,更新堵塞时间轴进度值到下一节点,并执行步骤s33。6.根据权利要求4所述的一种游戏剧情状态管理的实现方法,其特征在于:步骤s4进一步具体包括:步骤s41、输入剧情指令数据,读取剧情指令数据中的剧情指令;步骤s42、判断剧情指令是否有注册了对应的执行方式,否,剧情指令执行完成并结束流程,是,进入步骤s43,步骤s43、执行对应的执行方式传入剧情指令数据;步骤s44、判断是否同步执行执行方式;否,等待异步执行方式执行完成,返回执行成功事件;剧情指令执行完成;是,返回执行成功事件,剧情指令执行完成。7.根据权利要求4所述的一种游戏剧情状态管理的实现方法,其特征在于:所述步骤s5中记录剧情状态数据进一步具体包括:输入剧情指令数据,读取剧情指令数据中的剧情指令,判断剧情指令是否有注册了对应的执行方式,否,则记录完成,结束流程;是,则将此条剧情指令数据加入剧情状态数据的剧情指令集合中,更新剧情状态数据中的当前剧情进度值,将剧情状态数据保存至存储文件中,记录完成,结束流程。8.根据权利要求4所述的一种游戏剧情状态管理的实现方法,其特征在于:所述根据交互事件更新剧情状态数据与堵塞时间轴的进度值进一步具体包括:步骤s51、输入用户交互
数据;步骤s52、读取用户交互数据中的剧情进度值记录为目标进度值,从剧情状态数据中读取当前剧情进度值;步骤s53、从剧情状态数据中读取剧情指令集合中剧情指令数据对应的最大剧情进度值与最小剧情进度值;步骤s54、判断目标进度值是否大于最大剧情进度值,是,更新目标进度值为最大剧情进度值,进入步骤s55;否,进入步骤s55;步骤s55、判断目标进度值是否小于最小剧情进度值,是,更新目标进度值为最小剧情进度值,进入步骤s56;否,进入步骤s56;步骤s56、判断目标进度值是否大于当前剧情进度值,是,更新堵塞时间轴的进度值为当前剧情进度值,进入步骤s57,否,更新堵塞时间轴的进度值为最小剧情进度值,进入步骤s57;步骤s57、更新剧情状态数据中的当前剧情进度值为剧情测试进度;步骤s58、判断堵塞时间轴的进度值是否小于当前剧情进度值,否,更新剧情状态数据中的当前剧情进度值为堵塞时间轴的进度值,将剧情状态数据保存至存储文件中,交互事件执行完成,并结束流程;是,从剧情状态数据的剧情指令集合中读取堵塞时间轴的进度值对应的剧情指令数据,读取剧情指令数据中的剧情指令,进入步骤s59;步骤s59、判断剧情指令是否有注册了对应的执行方式,是,执行对应的执行方式传入剧情指令数据并传入跳过执行过程参数,等待执行方式执行完成,进入步骤s60;否,直接进入步骤s60;步骤s60、剧情指令执行完成,更新堵塞时间轴的进度值为堵塞时间轴上的下一时间节点。9.一种游戏剧情状态管理的实现系统,其特征在于:所述系统包括数据解析模块、还原数据模块、剧情分发模块、剧情数据执行模块、以及记录数据模块;所述数据解析模块,用于输入游戏剧情数据,解析游戏剧情数据生成堵塞时间轴;该堵塞时间轴为支持堵塞条件的时间轴,其中,堵塞时间轴剧情节点数据未设置堵塞条件节点时,时间轴将按照时间顺序正常运行;当设置了堵塞条件时,播放时间更新到堵塞条件节点时播放时间停止更新,等待堵塞条件满足后播放时间移动至下一个节点的开始位置继续播放;所述还原数据模块,用于还原游戏剧情数据中的剧情状态数据,并更新堵塞时间轴的进度值;所述剧情分发模块,用于等待用户交互开启剧情播放,按堵塞时间轴分发堵塞时间轴对应的剧情状态数据;判断堵塞时间轴对应的剧情状态数据是否分发结束;是,停止结束流程;否,直接执行剧情数据执行模块;所述剧情数据执行模块,用于执行剧情状态数据中的剧情指令,继续按堵塞时间轴分发堵塞时间轴对应的剧情状态数据,等待剧情指令执行结束;所述记录数据模块,用于记录剧情状态数据,等待用户交互,根据交互事件更新剧情状态数据与堵塞时间轴的进度值。10.根据权利要求9所述的一种游戏剧情状态管理的实现系统,其特征在于:所述解析
游戏剧情数据生成堵塞时间轴进一步具体为:步骤s61、输入游戏剧情数据;该游戏剧情数据中包含多个子剧情数据,游戏剧情数据中记录的数据包括剧情指令及其执行方式、剧情节点时间长度、是否堵塞节点、堵塞条件、是否支持跳过;步骤s62、创建一个堵塞时间轴;步骤s63、读取游戏剧情数据中的所有剧情节点数据;将所有剧情节点数据加入一个剧情节点数据队列中;步骤s64、判断剧情节点数据队列是否为空,是,返回堵塞时间轴,并结束流程;否,进入步骤s65;步骤s65、从剧情节点数据队列中读取一个剧情节点数据,将剧情节点数据加入堵塞时间轴的当前节点位置;堵塞时间轴的当前时间值向后移动到剧情节点数据中接入的时间值;步骤s66、判断剧情节点数据中是否记录了堵塞值,该堵塞值为堵塞条件对应的数据值;否,进入步骤s67;是,堵塞时间轴中添加堵塞条件节点,设置堵塞值调整为剧情节点数据中记录的堵塞条件;堵塞时间轴当前时间轴向后移动一个堵塞节点单位时间值,进入步骤s67;步骤s67、判断剧情数据节点队列中是否还有其它剧情数据节点,是,执行步骤s65;否,返回堵塞时间轴,并结束流程。11.根据权利要求9所述的一种游戏剧情状态管理的实现系统,其特征在于:所述堵塞时间轴包括:堵塞时间轴的进度值和时间节点集合,所述时间节点集合由多个时间节点组成,每个时间节点包括时间长度、进度值、以及堵塞条件;所述剧情状态数据包括:当前剧情进度值和剧情指令集合,剧情指令集合由多个的剧情指令数据组成。12.根据权利要求11所述的一种游戏剧情状态管理的实现系统,其特征在于:所述还原数据模块的实现方式进一步具体为:步骤s71、输入剧情数据,从堵塞时间轴中读取堵塞时间轴的进度值,从存储文件中读取剧情状态数据,判断剧情状态数据是否为空,否,进入步骤s72,是,创建一个新的剧情状态数据;并进入步骤s72;步骤s72、判断堵塞时间轴的进度值是否小于当前剧情进度值,是,进入步骤s74;否,进入步骤s73;步骤s73、更新剧情状态数据中的当前剧情进度值为堵塞时间轴的进度值,并将剧情状态数据保存至存储文件中,状态同步完成,并结束流程;步骤s74、从剧情状态数据的剧情指令集合中读取堵塞时间轴的进度值对应的剧情指令数据,读取剧情指令数据中的剧情指令;步骤s75、判断剧情指令是否有注册了对应的执行方式,是,执行对应的执行方式传入剧情指令数据并传入跳过执行过程参数,等待执行方式执行完成,进入步骤s76;否,直接进入步骤s76;步骤s76、剧情指令执行完成,更新堵塞时间轴的进度值为堵塞时间轴的下一时间节点,继续执行步骤s72。13.根据权利要求12所述的一种游戏剧情状态管理的实现系统,其特征在于:所述剧情分发模块的实现方式进一步具体包括:
步骤s81、输入堵塞时间轴对应的剧情状态数据;步骤s82、读取堵塞时间轴的进度值;步骤s83、判断堵塞时间轴是否执行完成,是,堵塞时间轴对应的剧情状态数据分发结束并结束流程,否,读取当前进度值的剧情状态数据;步骤s84、读取剧情状态数据中的剧情指令数据集合,将剧情指令数据集合中的数据加入一个剧情指令数据队列;步骤s85、判断剧情指令数据队列是否为空,是,更新堵塞时间轴进度值到下一节点,并执行步骤s83,否,执行步骤s86;步骤s86、从剧情指令数据队列中读取一个剧情指令数据,执行剧情指令数据;步骤s87、判断剧情指令数据队列中是否还有其它剧情指令数据,是,执行步骤s86;否,更新堵塞时间轴进度值到下一节点,并执行步骤s83。14.根据权利要求12所述的一种游戏剧情状态管理的实现系统,其特征在于:所述剧情数据执行模块的实现方式进一步具体包括:步骤s91、输入剧情指令数据,读取剧情指令数据中的剧情指令;步骤s92、判断剧情指令是否有注册了对应的执行方式,否,剧情指令执行完成并结束流程,是,进入步骤s93,步骤s93、执行对应的执行方式传入剧情指令数据;步骤s94、判断是否同步执行执行方式;否,等待异步执行方式执行完成,返回执行成功事件;剧情指令执行完成;是,返回执行成功事件,剧情指令执行完成。15.根据权利要求12所述的一种游戏剧情状态管理的实现系统,其特征在于:所述记录剧情状态数据的实现方式进一步具体包括:输入剧情指令数据,读取剧情指令数据中的剧情指令,判断剧情指令是否有注册了对应的执行方式,否,则记录完成,结束流程;是,则将此条剧情指令数据加入剧情状态数据的剧情指令集合中,更新剧情状态数据中的当前剧情进度值,将剧情状态数据保存至存储文件中,记录完成,结束流程。16.根据权利要求12所述的一种游戏剧情状态管理的实现系统,其特征在于:所述根据交互事件更新剧情状态数据与堵塞时间轴的进度值进一步具体包括:步骤s101、输入用户交互数据,步骤s102、读取用户交互数据中的剧情进度值记录为目标进度值,从剧情状态数据中读取当前剧情进度值;步骤s103、从剧情状态数据中读取剧情指令集合中剧情指令数据对应的最大剧情进度值与最小剧情进度值;步骤s104、判断目标进度值是否大于最大剧情进度值,是,更新目标进度值为最大剧情进度值,进入步骤s105;否,进入步骤s105;步骤s105、判断目标进度值是否小于最小剧情进度值,是,更新目标进度值为最小剧情进度值,进入步骤s106;否,进入步骤s106;步骤s106、判断目标进度值是否大于当前剧情进度值,是,更新堵塞时间轴的进度值为当前剧情进度值,进入步骤s107,否,更新堵塞时间轴的进度值为最小剧情进度值,进入步骤s107;步骤s107、更新剧情状态数据中的当前剧情进度值为剧情测试进度;
步骤s108、判断堵塞时间轴的进度值是否小于当前剧情进度值,否,更新剧情状态数据中的当前剧情进度值为堵塞时间轴的进度值,将剧情状态数据保存至存储文件中,交互事件执行完成,并结束流程;是,从剧情状态数据的剧情指令集合中读取堵塞时间轴的进度值对应的剧情指令数据,读取剧情指令数据中的剧情指令,进入步骤s109;步骤s109、判断剧情指令是否有注册了对应的执行方式,是,执行对应的执行方式传入剧情指令数据并传入跳过执行过程参数,等待执行方式执行完成,进入步骤s110;否,直接进入步骤s110;步骤s110、剧情指令执行完成,更新堵塞时间轴的进度值为堵塞时间轴上的下一时间节点。

技术总结
本发明提供了一种游戏剧情状态管理的实现方法,该方法为:1、输入游戏剧情数据,解析游戏剧情数据生成堵塞时间轴;2、还原游戏剧情数据中的剧情状态数据,并更新堵塞时间轴的进度值;3、等待用户交互开启剧情播放,按堵塞时间轴分发堵塞时间轴对应的剧情状态数据;判断堵塞时间轴对应的剧情状态数据是否分发结束;是,停止结束流程;否,进行步骤4;4、执行剧情状态数据中的剧情指令,继续按堵塞时间轴分发堵塞时间轴对应的剧情状态数据,等待剧情指令执行结束;5、记录剧情状态数据,等待用户交互,根据交互事件更新剧情状态数据与堵塞时间轴的进度值。本发明能快速接入并使用游戏剧情,支持状态管理,开发维护简单高效。开发维护简单高效。开发维护简单高效。


技术研发人员:刘德建 温荣泉 陈宏展
受保护的技术使用者:福建天晴数码有限公司
技术研发日:2021.10.22
技术公布日:2022/1/6
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献