基于教育系统的系统控件自定义动画实现方法及电子设备与流程

文档序号:16467128发布日期:2019-01-02 22:50阅读:223来源:国知局
基于教育系统的系统控件自定义动画实现方法及电子设备与流程

本发明涉及计算机技术领域,尤其涉及一种基于教育系统的系统控件自定义动画实现方法及电子设备。



背景技术:

针对系统中各类控件,在高级的人机交互中,需要提供相关的自定义动画来提高用户体验。所以在完成自定义控件库的基础上,需要抽象定义一套相关自定义系统控件动画,来实现各类更贴合人机交互工程的系统控件。

但现有技术中,还没有能够快速开发自定义动画的方法。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种基于教育系统的系统控件自定义动画实现方法及电子设备,旨在解决现有技术中还没有能够快速开发自定义动画的方法的问题。

本发明的技术方案如下:

一种基于教育系统的系统控件自定义动画实现方法,其中,包括步骤:

a、继承指定的动画类;

b、按需求重写动画的时间线和整体位移效果;

c、重新封装动画类;

d、按需求在系统控件上添加重新封装的动画类。

所述的基于教育系统的系统控件自定义动画实现方法,其中,所述步骤d之后还包括:

e、在重新封装的动画类的基础上进行动画交互编写。

所述的基于教育系统的系统控件自定义动画实现方法,其中,所述步骤a中的动画类包括并行动画类、串行动画类、抽象基类、缓和曲线类和时间轴类。

所述的基于教育系统的系统控件自定义动画实现方法,其中,所述步骤b中,通过对动画类的时间函数进行重写,实现重写动画的时间线和整体位移效果。

所述的基于教育系统的系统控件自定义动画实现方法,其中,所述步骤d具体包括:

创建重新封装的动画类的对象;

按需求设置所述对象的参数。

所述的基于教育系统的系统控件自定义动画实现方法,其中,所述参数包括动画时间和行进路径。

一种电子设备,其中,包括:

处理器,适于实现各指令,以及

存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:

继承指定的动画类;

按需求重写动画的时间线和整体位移效果;

重新封装动画类;

按需求在系统控件上添加重新封装的动画类。

所述的电子设备,其中,所述指令还适于由处理器加载并执行:

在重新封装的动画类的基础上进行动画交互编写。

一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于教育系统的系统控件自定义动画实现方法。

一种计算机程序产品,其中,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于教育系统的系统控件自定义动画实现方法。

有益效果:本发明在实现了基本的动画库框架的改写之后,能够为自定义控件库提供更方便、直接、封装更好的动画效果,降低后期系统特定需求的开发工作量,并能够辅助给教育操作系统提供良好的动画交互效果。

附图说明

图1为本发明一种基于教育系统的系统控件自定义动画实现方法较佳实施例的流程图。

图2为本发明一种电子设备较佳实施例的结构框图。

具体实施方式

本发明提供一种基于教育系统的系统控件自定义动画实现方法及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明一种基于教育系统的系统控件自定义动画实现方法较佳实施例的流程图,如图所示,其包括步骤:

s1、继承指定的动画类;

s2、按需求重写动画的时间线和整体位移效果;

s3、重新封装动画类;

s4、按需求在系统控件上添加重新封装的动画类。

本发明在实现了基本的动画库框架的改写之后,能够为自定义控件库提供更方便、直接、封装更好的动画效果,降低后期系统特定需求的开发工作量,并能够辅助给教育操作系统提供良好的动画交互效果。

具体地,在步骤s1中,先继承指定的动画类。

例如需要实现一个按钮的并行动画,则需要继承qparallelanimationgroup这个并行动画类。

本发明,针对自定义动画类控件的需求,采用在qt开源库的动画库的基础上,结合教育系统交互软件需求,对框架进行修改,来实现匹配精准的教育系统动画需求。

qt是qtcompany开发的跨平台c++图形用户界面应用程序开发框架。它既可以开发gui程序,也可用于开发非gui程序,比如控制台工具和服务器。qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(metaobjectcompiler,moc))以及一些宏,qt很容易扩展,并且允许真正地组件编程。

进一步,所述步骤s1中的动画类包括并行动画类、串行动画类、抽象基类、缓和曲线类和时间轴类。

基本的qt动画框架的结构如下:

qabstractanimation包含qanimationgroup、qpauseanimation和qvariantanimation三个子类。

qanimationgroup包含qparallelanimationgroup和qsequentialanimationgroup两个子类。

qvariantanimation包含qpropertyanimation一个子类。

其中,qabstractanimation是所有动画类的基类。qabstractanimation定义了所有动画类相关的基础功能,通过继承该类,可以实现动画的其它功能,或者添加自定义的特效。

qanimationgroup是动画容器类的抽象基类。qanimationgroup类是一个包含其他动画类的容器类,同时qanimationgroup类也是qabstractanimation类的子类,因此一个容器可以包含其他容器。

qpauseanimation为qsequentialanimationgroup提供了一个暂停。如果需要为qsequentialanimationgroup动画之间添加延迟,可以插入一个qpauseanimation。它没有任何动画,但当在指定的毫秒数之内开始运行时不会结束。可以通过构造函数指定暂停的时间,也可以通过setduration()设置。

qvariantanimation是动画类的抽象基类。其属于qabstractanimatio的子类。

qparallelanimationgroup是并行动画容器,提供动画的并行组。当它启动的时候其里面的所有动画也启动,即:并行运行所有动画,当持续时间最长的动画完成时动画组也随之完成。

qsequentialanimationgroup是串行动画容器,提供动画的串行组。在一个动画播放结束之后,开启一个新的动画,根据添加到动画组的顺序(使用addanimation()或insertanimation())来播放动画,当最后一个动画完成以后,动画组随之完成。

qpropertyanimation是qt的动画属性。该类继承于qvariantanimation类,用于对qt属性的动画操作(qt属性系统是qt元对象系统的一部分)。

在所述步骤s2中,按需求重写动画的时间线和整体位移效果。

进一步,所述步骤s2中,通过对动画类的时间函数进行重写,实现重写动画的时间线和整体位移效果。

例如需要实现两个按钮同时向前,同时向相同方向,以相同速度进行平移的动画,需要改写动画的时间线和对应的按钮的动画绑定位移效果。所以就需要对定义的这个类的event事件函数进行重写,例如可以重写为:

qparallelanimationgroup*group=newqparallelanimationgroup;

group->addanimation(anim1);

group->addanimation(anim2);

group->start();

然后上述的anim1和anim2是需要自己去定义的按钮动画,就是实现按钮位移效果,然后就形成了一个按钮并行动画组。

在所述步骤s3中,重新封装动画类。

举例来说,就是将上面写好的并行按钮动画类进行封装,形成一个新的类,比如twobuttonparallelanimation,封装出来,并添加一些可变属性提供给外部使用,例如并行动画持续时间time,并行动画起止位置:start_index,end_index和一些其他属性。

在所述步骤s4中,按需求在系统控件上添加重新封装的动画类。

即,控件按需求添加新的抽象动画类。

进一步,所述步骤s4具体包括:

创建重新封装的动画类的对象;

按需求设置所述对象的参数。所述参数包括动画时间和行进路径。

例如,在某个界面中需要使用这个带有动画的按钮,就可以直接声明并创建一个这个类的对象,具体方法如下:

twobuttonparallelanimation*buttons=newtwobuttonparallelanimation();

然后可以根据需求设置一些参数,比如,2秒的动画时间,行径路径是从界面上的0-200,那么就可以进行类似如下的设置:

buttons->settime(2);

button->setroute(0,200);

那么经过上面的三行代码就实现了以前需要近百行代码的操作,就针对特定的某个动画需求进行了简化和封装。

进一步,所述步s4之后还包括:

s5、在重新封装的动画类的基础上进行动画交互编写。

本步骤是利用新抽象的动画类进行更高效的动画交互编写。即能够通过编写各类特定的动画,实现诸如并行按钮平移、按钮内部渐变、文本自动打字显示、控件的飞入飞出之类的一系列的效果的技术封装。通过本发明能够提高linux下的控件动画的开发效率。

本发明在实现了基本的动画库框架的改写之后,能够为自定义控件库提供更方便、直接、封装更好的动画效果,降低后期系统特定需求的开发工作量,以应用在教育操作系统为例,本发明能够辅助给教育操作系统提供良好的动画交互效果。

请参阅图2,本发明还提供一种电子设备10,其包括:

处理器110,适于实现各指令,以及

存储设备120,适于存储多条指令,所述指令适于由处理器加载并执行:

继承指定的动画类;

按需求重写动画的时间线和整体位移效果;

重新封装动画类;

按需求在系统控件上添加重新封装的动画类。

所述处理器110可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、任何其它这种配置。

存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于教育系统的系统控件自定义动画实现方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行基于教育系统的系统控件自定义动画实现方法的各种功能应用以及数据处理,即实现上述方法实施例。

进一步,所述指令还适于由处理器110加载并执行:

在重新封装的动画类的基础上进行动画交互编写。

关于上述电子设备10的具体技术细节在前面的方法中已有详述,故不再赘述。

本发明还提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于教育系统的系统控件自定义动画实现方法。

本发明还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于教育系统的系统控件自定义动画实现方法。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1