CN112700515A - 动画播放方法和装置、存储介质、电子设备 - Google Patents

动画播放方法和装置、存储介质、电子设备 Download PDF

Info

Publication number
CN112700515A
CN112700515A CN202011579768.0A CN202011579768A CN112700515A CN 112700515 A CN112700515 A CN 112700515A CN 202011579768 A CN202011579768 A CN 202011579768A CN 112700515 A CN112700515 A CN 112700515A
Authority
CN
China
Prior art keywords
playing
state
animation
condition
played
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.)
Pending
Application number
CN202011579768.0A
Other languages
English (en)
Inventor
王建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Boguan Information Technology Co Ltd
Original Assignee
Guangzhou Boguan Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Boguan Information Technology Co Ltd filed Critical Guangzhou Boguan Information Technology Co Ltd
Priority to CN202011579768.0A priority Critical patent/CN112700515A/zh
Publication of CN112700515A publication Critical patent/CN112700515A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开是关于一种动画播放方法、动画播放装置、存储介质以及电子设备,涉及计算机技术领域,该方法包括:获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段、播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。本公开降低了动画播放程序的复杂度。

Description

动画播放方法和装置、存储介质、电子设备
技术领域
本公开实施例涉及计算机技术领域,具体而言,涉及一种动画播放方法、动画播放装置、存储介质以及电子设备。
背景技术
在移动端的应用软件中,大多数动画都是由一系列的动画片段组合而成的,动画片段之间可以通过时间的延迟、或者界面元素的移动或者事件的响应衔接起来。
在现有的移动端的动画播放方案中,主要通过预设动画序列以及加标志位对动画进行播放。预设动画序列即将各动画片段通过“同时播放”或者“序列播放”等组合形成一个总的动画序列集,通过外部调用触发该动画序列集;标志位用来记录某一动画片段是否播放完毕。
采用预设动画序列以及加标志位的播放方案,会存在以下问题:当动画片段的数量大并且动画片段之间的关系复杂时,程序中会设置大量的标志位以及判断条件,导致程序的复杂度高。
因此,需要提供一种新的动画播放方法。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种动画播放方法、动画播放装置、存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的移动端的动画播放方案中程序复杂度高的问题。
根据本公开的一个方面,提供一种动画播放方法,用于控制多个动画片段的播放,包括:
获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段、播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;
响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;
响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。
在本公开的一种示例性实施例中,所述状态转移条件包括:用户控制事件、动画片段播放完成事件或者动画片段播放中断事件中的至少一种。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
当发生所述动画片段播放中断事件时,基于预设的状态转移表,获取与正在播放的动画片段对应的播放状态,对与所述正在播放的动画片段对应的播放状态进行保存;
当所述动画片段播放中断事件结束时,获取保存的播放状态,并基于预设的状态转移表确定与所述保存的播放状态对应的播放条件和/或将所述正在播放的动画片段对应的播放状态转换为下一播放状态的状态转移条件。
在本公开的一种示例性实施例中,所述预设的状态转移表记录有多个播放状态、与每个播放状态对应的待播放动画片段、播放条件,以及不同播放状态之间的状态转移关系和状态转移条件。
在本公开的一种示例性实施例中,响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放,包括:
当所述播放条件为无条件播放时,直接对与所述播放条件对应的第一待播放动画片段进行播放。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
当所述播放条件为触发条件播放时,获取第二播放状态;
判断所述第二播放状态与所述第一播放状态是否相同。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
当所述第二播放状态与所述第一播放状态不同时,基于所述预设的状态转移表,确定与所述第二播放状态对应的播放条件和/或状态转移条件;
基于与所述第二播放状态对应的播放条件和/或状态转移条件,通过与所述第二播放状态对应的动画播放方法,对与所述第二播放状态对应的第二待播放动画片段进行播放。
在本公开的一种示例性实施例中,响应于所述状态转移条件的满足,将所述第一播放状态转换为下一播放状态,包括:
获取与所述第一播放状态对应的状态转移条件;
基于所述状态转移条件,通过与所述第一播放状态对应的状态转移方法,确定与所述第一播放状态对应的下一播放状态,并将所述第一播放状态转换为下一播放状态。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
判断与所述第一播放状态对应的第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件是否为空;
当所述第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件为空时,将所述第一播放状态设置为结束状态。
根据本公开的一个方面,提供一种动画播放装置,用于控制多个动画片段的播放,包括:
播放条件确定模块,用于获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段及其播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;
待播放动画片段播放模块,用于响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;
播放状态转换模块,用于响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的动画播放方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的动画播放方法。
本公开实施例提供的一种动画播放方法,获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段及其播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放,由于,获取第一播放状态后,只需要基于预设的状态转移表就可确定与该第一播放状态对应的第一待播放片段、以及播放第一待播放片段的播放条件和/或将第一播放状态转换成下一播放状态的状态转移条件,当播放条件或者状态转移条件满足时,播放动画片段或者进行状态转移,不需要设置大量的标志位以及判断语句就可实现动画片段的播放或者播放状态的转移,解决了现有技术中需要设置大量的标志位以及判断条件的问题,降低了动画播放程序的复杂度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出根据本发明示例实施例的一种动画片段播放序列。
图2示意性示出根据本发明示例实施例的一种动画播放方法的流程图。
图3示意性示出根据本发明示例实施例的一种动画播放系统的框图。
图4示意性示出根据本发明示例实施例的一种状态转移表的示意图。
图5示意性示出根据本发明示例实施例的一种播放状态与动画播放执行器之间的关系的示意图。
图6示意性示出根据本发明示例实施例的一种当播放条件为触发条件执行时动画播放方法的流程图。
图7示意性示出根据本发明示例实施例的一种当动画播放执行器的状态未改变时动画播放方法的流程图。
图8示意性示出根据本发明示例实施例的一种动画播放方法的流程图。
图9示意性示出根据本发明示例实施例的一种动画播放装置的框图。
图10示意性示出根据本发明示例实施例的一种用于实现上述动画播放方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在如今的移动端应用软件中,动画效果越丰富,对于设计人员来讲工作量越大,对于开发人员来讲代码逻辑越复杂。因为大部分的动画都不是一个简单的动画序列,而是一系列动画片段组合而形成的完整动画,动画片段之间可以通过时间的延迟、界面元素的移动或者事件的响应等方式衔接起来,也可以多个动画片段在某段时间同时播放,因此对于这种复杂动画的播放需要一种高效的、以拓展、维护性高的解决方案。
在现有的移动端的动画播放方案中,主要通过预设动画序列以及设置标志位来对待播放的动画进行播放。对于一些非简单排列组合的复杂的动画,还需要触发条件,参考图1所示的动画片段播放序列,在事件a发生之后,开始播放动画A,在点击事件b发生后且已经播放完动画B才能播放动画C,否则点击事件b将不会触发动画的播放,因此,在这类动画的播放过程中需要通过增加一个标志位来记录是否已经播放完了动画B,当点击事件b发生后会通过该标志位判断是否需要播放动画C。
采用预设好的动画序列加标志位进行播放动画的方案,会存在以下问题:当动画片段的数量多、并且动画片段之间的关系变得错综复杂时,程序中将会有大量的标志位变量和大量的判断语句,代码逻辑复杂,程序复杂度高,无论是对修复问题还是新动画的增加都增加了难度。
此外,动画片段的正确播放依赖于程序的正常运行,即,没有对各个时间段的动画进行拦截与检测,完全执行确定好的动画播放代码,当程序遭遇中断事件时,可能会使动画执行链条遭遇中断,当再次尝试播放时可能会丢失将要播放的动画信息,甚至整个动画片段序列都将产生异常。参考图1所示的动画片段播放序列,如果在播放动画B时应用程序运行被中断,当应用程序恢复运行时,就丢失了“动画A已经播放”过了这个信息,只能实现播放动画A,不可以在中断结束后继续播放动画B。如果需要播放动画B,则需要添加一个标志位来判断是否动画A已经播放完成,随着动画数量的增加和逻辑变得复杂,程序中的判断语句和标志位变量越来越多,可维护性越来越低。
基于上述一个或者多个问题,本示例实施方式首先提供了一种动画播放方法,该方法可以运行于设备终端,该设备终端可以包括PC端、移动端等,当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例实施例对此不做具体限定。参考图2所示,该动画播放方法可以包括以下步骤:
步骤S210.获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段、播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;
步骤S220.响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;
步骤S230.响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。
上述动画播放方法,获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段、播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放,由于,获取第一播放状态后,只需要基于预设的状态转移表就可确定与该第一播放状态对应的第一待播放片段、以及播放第一待播放片段的播放条件和/或将第一播放状态转换成下一播放状态的状态转移条件,当播放条件或者状态转移条件满足时,播放动画片段或者进行状态转移,不需要设置大量的标志位以及判断语句就可实现动画片段的播放或者播放状态的转移,解决了现有技术中需要设置大量的标志位以及判断条件的问题,降低了动画播放程序的复杂度。
以下,对本公开示例实施例的动画播放方法中涉及的各步骤进行详细的解释以及说明。
首先,对本公开示例实施例的应用场景以及发明目的进行解释以及说明。
具体的,本公开示例实施例可以用于移动端应用软件的动画播放,主要用于获取当前动画播放的第一播放状态,通过预设的状态转移表确定与该第一播放状态对应的第一待播放动画片段、播放该第一待播放动画片段的播放条件和/或将当前第一播放状态转换为下一播放状态的状态转移条件,不需要设置标志位,降低了动画播放的程序复杂度,当播放第一待播放动画片段的播放条件得到满足时,对该第一待播放动画片段进行播放,当将第一播放状态转换为下一播放状态的状态条件得到满足时,将当前的第一播放状态转换为下一播放状态;此外,当动画播放过程中出现动画播放中断事件时,对当前播放的动画片段的播放状态进行保存,当动画播放中断事件结束后,基于保存的当前播放动画片段的播放状态,通过预设的状态转移表确定与该保存的当前播放动画片段的播放状态对应的播放条件以及状态转移条件,当其播放状态或者状态转移条件得到满足后,对当前播放的动画片段进行播放或者将播放状态转换为下一播放状态,解决了现有技术中,动画播放不具有恢复功能的问题。
其次,对本公开示例实施例中涉及的动画播放系统进行解释以及说明。参考图3所示,该动画播放系统可以包括播放状态保存模块310、动画播放执行器320以及移动端330。其中,播放状态保存模块310,用于当动画播放过程中出现中断事件时,获取当前动画播放的当前播放状态,并对该当前播放状态进行保存;动画播放执行器320,与播放状态保存模块310网络连接,用于获取播放状态保存模块310保存的当前播放状态,基于该当前播放状态,根据预设的状态转移表,确定与该当前播放状态对应的执行条件,并执行该执行条件以完成对当前播放状态对应的动画播放片段的播放;移动端330,与动画播放执行器320网络连接,用于对正在播放的动画片段进行显示。
以下,将结合图3对步骤S210-步骤S240进行解释以及说明。
在步骤S210中,获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段、播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件。
其中,第一播放状态可以为动画播放执行器320正在播放的动画片段的播放状态,预设的状态转移表可以为二维表,也可以为状态图,在本示例实施例中不做具体限定。举例而言,当状态转移表为二维表时,水平维度表示待播放的动画包括的多个播放状态,垂直维度表示与多个播放状态对应的多个动画片段、播放条件以及状态转移条件,水平维度与垂直维度的交叉点表示在某个播放状态下发生某个状态条件之后播放状态的迁移或者在某个播放状态下对应的动画片段以及播放该动画片段的播放条件。
举例而言,基于图1可以生成与图1对应的状态转移表,生成的状态转移表参考图4所示,在图4中初始状态为S1,只有发生了事件a才会转变为状态S2,当状态改变为S2时,需要立即播放动画A,动画A执行结束之后,状态将由S2转变为S3,当状态改变为S3时,立即播放动画B,动画B执行结束之后,状态由S3转变为S4,当状态为S4时,需要完成事件b才能将状态转换为S5,当状态为S5时,会立即播放动画C,然后到状态S6,至此,将不再接收任何事件,动画播放结束。
在本示例实施例中,所述状态转移条件包括:用户控制事件、动画片段播放完成事件或者动画片段播放中断事件中的至少一种。
具体的,用户控制事件可以为当在动画片段播放过程中用户主动跳过当前播放的动画片段的播放,进入该当前播放的动画片段的下一个待播放的动画片段,由于播放的动画片段发生了改变,因此基于预设的状态转移表,播放状态也发生了改变;动画片段播放中断事件可以为移动端的来电事件,也可以为横竖屏切换事件,在本示例实施例中不做具体限定。
进一步的,当动画片段播放中断事件发生时,所述动画播放方法还包括:
当发生所述动画片段播放中断事件时,基于预设的状态转移表,获取与正在播放的动画片段对应的播放状态,对与所述正在播放的动画片段对应的播放状态进行保存;
当所述动画片段播放中断事件结束时,获取保存的播放状态,并基于预设的状态转移表确定与所述保存的播放状态对应的播放条件和/或将所述正在播放的动画片段对应的播放状态转换为下一播放状态的状态转移条件。
具体的,当播放状态保存模块310检测到移动端的动画片段播放中断事件时,基于预设的状态转移表获取移动端当前播放的动画片段的播放状态,并对获取到的播放状态进行保存,当动画片段播放中断事件结束后,再次打开待播放动画时,首先,获取播放状态保存模块310保存的播放状态,其次,根据该播放状态,在预设的状态转移表中找到与该播放状态对应的播放条件、将该播放状态转换为下一播放状态的状态转移条件中的至少一个,其中,当满足播放条件时,通过动画播放执行器320完成对当前播放的动画片段的播放;或者满足状态转移条件时,通过动画播放执行器320将播放状态转换为下一播放状态。
在本示例实施例中,所述预设的状态转移表记录有多个播放状态、与每个播放状态对应的待播放动画片段、播放条件,以及不同播放状态之间的状态转移关系和状态转移条件。
其中,播放条件包括无条件执行或者触发条件执行。无条件执行表示进入与该无条件执行的状态时,立即执行与该状态对应的动画,通过设置无条件执行这一执行条件,对于无需任何条件的连续动画片段之间也可以衔接起来;触发条件执行表示只有当触发条件执行完时,才可以触发与该触发条件对应的动画片段的播放。具体的,生成状态转移表可以包括:获取待播放动画所包括的所有播放状态,根据每个播放状态下包括的动画片段,实现该动画片段播放的播放条件、实现不同状态互相转换的状态转移条件以及不同播放状态之间进行状态转换的关联关系,生成预设的状态转移表,通过该状态转移表,减少了动画播放程序中标志位以及判断语句的设立,降低了动画播放程序的复杂度。
此外,参考图5所示的动画播放执行器与播放状态之间的关系可以为:动画播放执行器包括当前播放状态、播放方法以及状态转移方法,其中动画播放执行器的执行依赖于当前播放状态的播放方法以及当前播放状态的状态转移方法,当前播放状态的类型属于播放状态,其中,播放状态可以包括:无条件执行动画的变量、执行条件与播放状态之间关联关系的映射集合、播放状态的播放方法以及播放状态的状态转移方法,播放状态的状态转移方法有返回值,该返回值的类型为播放状态。
在步骤S220中,响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放。
其中,播放条件可以为无条件执行也可以为触发条件执行,具体的,当动画播放执行器320打开后,首先,调用第一播放状态的动画播放方法,在该动画播放方法中,会基于预设的状态转移表确定与第一播放状态对应的播放条件是否为无条件执行。当播放条件为无条件执行时,响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放,包括:
直接对与所述播放条件对应的第一待播放动画片段进行播放。
举例而言,当播放状态保存模块310在发生动画片段播放中断事件时保存的播放状态为S2,当动画片段播放中断事件结束后,首先获取保存的播放状态S2,在预设的状态转移表中,播放状态S2对应的执行条件为无条件执行时,需要立即对状态转移表中与播放状态S2对应的动画片段进行播放,即,立即播放动画A。
此外,当与第一播放状态对应的播放条件为触发条件执行时,参考图6所示,所述动画播放方法还包括:
步骤S610.当所述播放条件为触发条件播放时,获取第二播放状态;
步骤S620.判断所述第二播放状态与所述第一播放状态是否相同。
以下,将对步骤S610以及步骤S620进行解释以及说明。具体的,通过与第一播放状态对应的动画播放方法判断与该第一播放状态对应的播放条件为触发条件执行时,获取与动画播放执行器320正在播放的动画片段对应的播放状态,其中,该获取的播放状态即为第二播放状态。当获取到第二播放状态之后,判断第二播放状态与第一播放状态是否相同,即,判断动画播放执行器320的播放状态是否发生了转换。
进一步,当动画播放执行器320的播放状态没有发生改变时,参考图7所示,所述动画播放方法还包括:
步骤S710.当所述第二播放状态与所述第一播放状态不同时,基于所述预设的状态转移表,确定与所述第二播放状态对应的播放条件;
步骤S720.基于与所述第二播放状态对应的播放条件,通过与所述第二播放状态对应的动画播放方法,完成对与所述第二播放状态对应的第二待播放动画片段进行播放。
以下,将对步骤S710以及步骤S720进行解释以及说明。具体的,当第一播放状态对应的播放条件为触发条件播放时,动画播放执行器320首先获取当前播放的动画片段的播放状态,即第二播放状态,并判断第一播放状态与第二播放状态是否相同,当第一播放状态与第二播放状态不同时,即,动画播放器320的播放状态发生了改变,则基于预设的状态转移表,确定与第二播放状态对应的播放条件或状态转移条件中的至少一个,将该播放条件或者状态转移条件作为参数传入与第二播放状态对应的动画播放方法中,来实现对该播放条件的判断,进而完成对与第二播放状态对应的第二播放动画片段的播放。
举例而言,参考图4所示的状态转移表,当播放状态保存模块310保存的第一播放状态为S1时,动画播放执行器320基于预设的状态转移表确定与该第一播放状态对应的播放条件为事件a,即,与该第一播放状态对应的播放条件为触发条件执行,此时需要再次获取动画播放执行器320的播放状态,当获取到的第二播放状态与第一播放状态不同时,第二播放状态为S2,则需要通过预设的状态转移表确定与第二播放状态对应的播放条件或状态转移条件中的至少一个,通过图4的状态转移表,可以得到播放状态S2对应的播放条件为无条件执行,需要立即对动画A进行播放,并且在动画A播放完毕后,将第二播放状态由S2转换为S3。
此外,当第一播放状态与第二播放状态相同时,即,动画播放器320的播放状态没有发生改变,则等待与该第一播放状态对应的状态转移条件的满足。
具体的,当第一播放状态与第二播放状态相同时,则等待与第一播放状态对应的状态转移条件的满足,其中状态转移条件可以为用户控制事件,当发生用户控制事件时,通过调用动画播放执行器320的状态转移方法对该用户控制事件进行执行,进一步的,动画播放执行器320又通过调用与第一播放状态对应的状态转移方法,在第一播放状态对应的状态转移方法执行过程中,会基于预设的状态转移表返回与该用户控制事件处于同一水平维度的对应的播放状态,即确定与该第一播放状态对应的下一个播放状态。
当获取到第一播放状态之后,所述动画播放方法还包括:
判断与所述第一播放状态对应的第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件是否为空;
当所述第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件为空时,将所述第一播放状态设置为结束状态。
具体的,当动画播放执行器320得到第一播放状态之后,首先基于预设的状态转移表判断与该第一播放状态的播放条件以及状态转移条件是否为空,当该第一播放状态的在预设的状态转移表中的播放条件既不存在无条件执行也不存在触发条件执行,以及状态转移条件也为空时,则可以将第一播放状态设置为结束状态。
本公开示例实施例提供的动画播放方法以及动画播放系统至少具有以下优点:
一方面,当待播放动画播放过程中出现动画片段播放中断事件时,对当前播放的动画片段的第一播放状态进行保存,并在动画片段播放中断事件结束时,获取该第一播放状态,并基于预设的状态转移表确定与该第一播放状态对应的播放条件或状态转移条件中的至少一个,以完成对待播放动画的播放,解决了现有技术中动画播放不具有恢复功能的问题。
另一方面,当获取到第一播放状态后,根据预设的状态转移表确定与第一播放状态对应的播放条件或状态转移条件中的至少一个,不需要设置标志位及判断条件,降低了动画播放程序的复杂度。
以下,结合图8对本公开示例实施例的动画播放方法进行进一步的解释以及说明。其中,动画播放方法可以包括以下步骤:
步骤S810.动画播放执行器开启,获取当前播放的动画片段的第一播放状态;
步骤S820.调用动画播放器的播放方法,以及第一播放状态的播放方法;
步骤S830.通过与第一播放状态对应的播放方法判断与第一播放状态对应的播放条件是否为无条件执行;
步骤S840.当播放条件为无条件执行时,立即播放与第一播放状态对应的动画片段;
步骤S850.动画播放执行器基于状态转移表,返回与第一播放状态对应的下一播放状态;
步骤S860.判断下一播放状态与第一播放状态是否相同;当播放状态相同时,返回步骤S820。
步骤S870.当播放状态不相同时,动画播放执行器等待与下一播放状态对应的播放条件或状态转移条件中的至少一个发生;
步骤S880.当获取到状态转移条件时,调用动画执行器的状态转移方法,并调用与下一播放状态对应的状态转移方法;
步骤S890.通过状态转移方法,基于状态转移表,确定下一播放状态的下一播放状态与该触发事件对应的返回状态;
步骤S8100.动画播放执行器判断下一播放状态与下一播放状态的下一播放状态是否相同;当相同时,返回执行步骤S820,当不同时,返回执行步骤S860。
本公开示例实施例还提供了一种动画播放装置,参考图9所示,该动画播放装置可以包括:播放条件确定模块910、待播放动画片段播放模块920以及播放状态转换模块模块930。其中:
播放条件确定模块910,用于获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段及其播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;
待播放动画片段播放模块920,用于响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;
播放状态转换模块930,用于响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。
在本公开的一种示例性实施例中,所述状态转移条件包括:用户控制事件、动画片段播放完成事件或者动画片段播放中断事件中的至少一种。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
当发生所述动画片段播放中断事件时,基于预设的状态转移表,获取与正在播放的动画片段对应的播放状态,对与所述正在播放的动画片段对应的播放状态进行保存;
当所述动画片段播放中断事件结束时,获取保存的播放状态,并基于预设的状态转移表确定与所述保存的播放状态对应的播放条件和/或将所述正在播放的动画片段对应的播放状态转换为下一播放状态的状态转移条件。
在本公开的一种示例性实施例中,所述预设的状态转移表记录有多个播放状态、与每个播放状态对应的待播放动画片段、播放条件,以及不同播放状态之间的状态转移关系和状态转移条件。
在本公开的一种示例性实施例中,响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放,包括:
当所述播放条件为无条件播放时,直接对与所述播放条件对应的第一待播放动画片段进行播放。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
当所述播放条件为触发条件播放时,获取第二播放状态;
判断所述第二播放状态与所述第一播放状态是否相同。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
当所述第二播放状态与所述第一播放状态不同时,基于所述预设的状态转移表,确定与所述第二播放状态对应的播放条件和/或状态转移条件;
基于与所述第二播放状态对应的播放条件和/或状态转移条件,通过与所述第二播放状态对应的动画播放方法,对与所述第二播放状态对应的第二待播放动画片段进行播放。
在本公开的一种示例性实施例中,响应于所述状态转移条件的满足,将所述第一播放状态转换为下一播放状态,包括:
获取与所述第一播放状态对应的状态转移条件;
基于所述状态转移条件,通过与所述第一播放状态对应的状态转移方法,确定与所述第一播放状态对应的下一播放状态,并将所述第一播放状态转换为下一播放状态。
在本公开的一种示例性实施例中,所述动画播放方法还包括:
判断与所述第一播放状态对应的第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件是否为空;
当所述第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件为空时,将所述第一播放状态设置为结束状态。
上述动画播放装置中各模块的具体细节已经在对应的动画播放方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本发明的示例性实施例中,还提供了一种能够实现上述数据包传输方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参考图10来描述根据本发明的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030以及显示单元1040。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1010可以执行如图2中所示的步骤S210:获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段、播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;步骤S220:响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;步骤S230:响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。

Claims (12)

1.一种动画播放方法,用于控制多个动画片段的播放,其特征在于,包括:
获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段、播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;
响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;
响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。
2.根据权利要求1所述的动画播放方法,其特征在于:所述状态转移条件包括:用户控制事件、动画片段播放完成事件或者动画片段播放中断事件中的至少一种。
3.根据权利要求2所述的动画播放方法,其特征在于,所述动画播放方法还包括:
当发生所述动画片段播放中断事件时,基于预设的状态转移表,获取与正在播放的动画片段对应的播放状态,对与所述正在播放的动画片段对应的播放状态进行保存;
当所述动画片段播放中断事件结束时,获取保存的播放状态,并基于预设的状态转移表确定与所述保存的播放状态对应的播放条件和/或将所述正在播放的动画片段对应的播放状态转换为下一播放状态的状态转移条件。
4.根据权利要求1所述的动画播放方法,其特征在于,所述预设的状态转移表记录有多个播放状态、与每个播放状态对应的待播放动画片段、播放条件,以及不同播放状态之间的状态转移关系和状态转移条件。
5.根据权利要求1或4所述的动画播放方法,其特征在于,响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放,包括:
当所述播放条件为无条件播放时,直接对与所述播放条件对应的第一待播放动画片段进行播放。
6.根据权利要求5所述的动画播放方法,其特征在于,所述动画播放方法还包括:
当所述播放条件为触发条件播放时,获取第二播放状态;
判断所述第二播放状态与所述第一播放状态是否相同。
7.根据权利要求6所述的动画播放方法,其特征在于,所述动画播放方法还包括:
当所述第二播放状态与所述第一播放状态不同时,基于所述预设的状态转移表,确定与所述第二播放状态对应的播放条件和/或状态转移条件;
基于与所述第二播放状态对应的播放条件和/或状态转移条件,通过与所述第二播放状态对应的动画播放方法,对与所述第二播放状态对应的第二待播放动画片段进行播放。
8.根据权利要求7所述的动画播放方法,其特征在于,响应于所述状态转移条件的满足,将所述第一播放状态转换为下一播放状态,包括:
获取与所述第一播放状态对应的状态转移条件;
基于所述状态转移条件,通过与所述第一播放状态对应的状态转移方法,确定与所述第一播放状态对应的下一播放状态,并将所述第一播放状态转换为下一播放状态。
9.根据权利要求1所述的动画播放方法,其特征在于,所述动画播放方法还包括:
判断与所述第一播放状态对应的第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件是否为空;
当所述第一待播放动画片段的播放条件以及将所述第一播放状态转换为下一播放状态的状态转移条件为空时,将所述第一播放状态设置为结束状态。
10.一种动画播放装置,用于控制多个动画片段的播放,其特征在于,包括:
播放条件确定模块,用于获取第一播放状态,根据预设的状态转移表,确定与所述第一播放状态对应的第一待播放动画片段及其播放条件和/或将所述第一播放状态转换为下一播放状态的状态转移条件;
待播放动画片段播放模块,用于响应于所述播放条件的满足,对与所述播放条件对应的第一待播放动画片段进行播放;
播放状态转换模块,用于响应于所述状态转移条件的满足,将所述第一播放状态转换为所述下一播放状态,并基于所述下一播放状态控制所述多个动画片段的播放。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的动画播放方法。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-9任一项所述的动画播放方法。
CN202011579768.0A 2020-12-28 2020-12-28 动画播放方法和装置、存储介质、电子设备 Pending CN112700515A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011579768.0A CN112700515A (zh) 2020-12-28 2020-12-28 动画播放方法和装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011579768.0A CN112700515A (zh) 2020-12-28 2020-12-28 动画播放方法和装置、存储介质、电子设备

Publications (1)

Publication Number Publication Date
CN112700515A true CN112700515A (zh) 2021-04-23

Family

ID=75512637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011579768.0A Pending CN112700515A (zh) 2020-12-28 2020-12-28 动画播放方法和装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN112700515A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113905270A (zh) * 2021-11-03 2022-01-07 广州博冠信息科技有限公司 节目播出控制方法和装置、可读存储介质、电子设备
WO2024007710A1 (zh) * 2022-07-06 2024-01-11 惠州Tcl移动通信有限公司 动画播放方法、装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070155310A1 (en) * 2005-12-31 2007-07-05 Rob Borcic Interrupting and resuming a media player
CA2770759A1 (en) * 2012-03-07 2013-09-07 Unity Technologies Canada Inc. Method and system for creating animation with contextual rigging
CN104723882A (zh) * 2013-12-19 2015-06-24 大陆汽车投资(上海)有限公司 仪表显示方法
CN105657518A (zh) * 2016-02-04 2016-06-08 厦门幻世网络科技有限公司 一种播放动画的方法及装置
CN110750743A (zh) * 2019-09-25 2020-02-04 腾讯科技(深圳)有限公司 一种动画播放方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070155310A1 (en) * 2005-12-31 2007-07-05 Rob Borcic Interrupting and resuming a media player
CA2770759A1 (en) * 2012-03-07 2013-09-07 Unity Technologies Canada Inc. Method and system for creating animation with contextual rigging
CN104723882A (zh) * 2013-12-19 2015-06-24 大陆汽车投资(上海)有限公司 仪表显示方法
CN105657518A (zh) * 2016-02-04 2016-06-08 厦门幻世网络科技有限公司 一种播放动画的方法及装置
CN110750743A (zh) * 2019-09-25 2020-02-04 腾讯科技(深圳)有限公司 一种动画播放方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李智艺,李楠: "《Unity 3D VR/AR 程序开发设计》", vol. 978, 30 November 2018, 北京理工大学出版社, pages: 52 - 53 *
黄勇: "《EDA 技术与 Verilog HDL 设计》", vol. 978, 31 July 2014, 西南交通大学出版社, pages: 163 - 164 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113905270A (zh) * 2021-11-03 2022-01-07 广州博冠信息科技有限公司 节目播出控制方法和装置、可读存储介质、电子设备
CN113905270B (zh) * 2021-11-03 2024-04-09 广州博冠信息科技有限公司 节目播出控制方法和装置、可读存储介质、电子设备
WO2024007710A1 (zh) * 2022-07-06 2024-01-11 惠州Tcl移动通信有限公司 动画播放方法、装置、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN110019498B (zh) 日志同步方法及装置、存储介质、电子设备
CN111880879B (zh) 一种动态壁纸的播放方法、装置、设备及存储介质
CN111330280B (zh) 游戏中的数据处理方法、装置、存储介质与电子设备
CN112700515A (zh) 动画播放方法和装置、存储介质、电子设备
CN111190673B (zh) 基于操作监测的页面展示方法、装置和电子设备
US20100287498A1 (en) User interface command disambiguation in a multi-window operating environment
CN111309294B (zh) 一种业务处理方法、装置及电子设备和存储介质
CN112286485B (zh) 通过语音控制应用的方法、装置、电子设备与存储介质
CN110399576B (zh) 页面切换方法、装置、可读介质及电子设备
CN112947813B (zh) 控制悬浮窗口常驻显示方法、装置、介质及电子设备
US20230214243A1 (en) One-machine multi-control method, apparatus, system and electronic device
CN111625290B (zh) 一种Android平台下布局文件预加载方法、装置及电子设备
CN112883007A (zh) 用于Linux系统的本机协议报文的处理方法及装置
CN110727473A (zh) 资源控制方法及装置、系统、存储介质和电子设备
CN112836156A (zh) 页面切换方法、装置、电子设备及计算机可读存储介质
CN110045952B (zh) 代码调用方法与装置
CN110673958B (zh) 调频方法、调频装置、存储介质与电子设备
CN109408057B (zh) 自动生成代码的方法、装置、介质和计算设备
CN100432938C (zh) 隐式可配置消息队列基用户接口自动同步的系统和方法
US20240095141A1 (en) Displaying information flow
CN116051031A (zh) 项目调度系统、介质及电子设备
CN112286514B (zh) 一种配置任务流程的方法、装置和电子设备
CN112988139B (zh) 事件处理文件的开发方法与装置
CN103914289A (zh) 一种桌面应用程序的接入方法和装置
CN110046237B (zh) 一种对话式交互处理方法及装置

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