带暂停功能的广告的动画实现方法、装置、服务器及存储介质与流程

文档序号:15833534发布日期:2018-11-07 07:35阅读:177来源:国知局
带暂停功能的广告的动画实现方法、装置、服务器及存储介质与流程

本发明涉及在线直播视频广告投放领域,具体涉及一种带暂停功能的广告的动画方法、装置、服务器及存储介质。

背景技术

传统的动画效果是动画开始到动画结束是完整的流程,动画效果不可分割。

本发明是在一个抽奖返利的设计中实现动画效果,是希望展示中奖用户的相关信息,动画会从显示区域外自下向上滚动到屏幕区域中且在中奖停留一段时间后再继续滚动出显示区域外。这段动画的设计打断了整个动画特效的执行流程,传统动画特效的实现手段无法来实现这个动画的特效效果。



技术实现要素:

鉴于现有技术存在的问题,本发明的目的是提供一种带暂停功能的广告的动画实现方法、装置、服务器及存储介质,克服了当前技术方案的缺陷,将动画分为能够上移和下移两部分,并在中间增加一个暂停部分,当动画在暂停部分超时后进行下移,从而有效展示一段自带暂停功能的动画特效。

为了实现上述目的,本发明采用的技术方案为一种带暂停功能的广告的动画实现方法,所述方法包括以下步骤:

s1、定义动画视图的高度信息,并将高度信息存储于安卓系统文件中,在动画初始化过程中通过调用系统的读取系统资源函数获取所述高度信息;

s2、在安卓系统中构建位移动画类对象,在所述对象中根据步骤s1中高度信息设置动画在移动端屏幕上的移动路径和动画移动时间,调用启动函数开启动画,使动画视图从屏幕外移动至屏幕中;

s3、动画开启后,设置与步骤s2中动画移动相同时间的定时器,当定时器超时后调用停止函数将动画进行暂停;

s4、动画暂停后,设置与步骤s3相同时间的定时器,定时器超时后将暂停动画进行开启;

s5、动画重新启动后设置动画移动路径,使动画视图从步骤s4中停止的位置启动移动出屏幕画面为止。

在上述技术方案中,所述步骤s1中获取的高度信息被定义为静态变量view_height。

在上述技术方案中,所述步骤s2中设置动画视图移动路径包括以下步骤:

s21、定义移动端屏幕坐标系左端顶部为原点,坐标系x轴水平向右为正方向,y轴竖直向下为正方向;

s22、构建动画视图移动路径横坐标起点为0,终点为0,所述动画视图在水平方向位置不变;

s23、构建动画视图纵坐标起点调用所述静态变量设置为-view_height,终点为0,所述动画视图在竖直方向纵坐标-view_height移动至终点。

在上述技术方案中,所述步骤s2中设置动画移动的时间周期为1秒钟。

在上述技术方案中,所述步骤s3包括以下步骤:

s31、调用定时器构造函数获取定时器对象;

s32、调用定时器对象开启时间周期为1秒钟的任务;

s33、定义定时器超时后的任务对象,所述任务对象完成动画停止操作。

在上述技术方案中,所述步骤s4中暂停动画开启包括以下步骤:

s41、重复步骤s31~s32开启暂停的定时器任务;

s42、当定时器超时后,在子线程中定义消息分发对象,调用所述消息分发对象中的消息发送函数将空消息发送至主线程中,所述空消息用于主线程与子线程的信息交互;

s43、主线程接收子线程发送的空消息,并在接收到空消息后执行动画开启操作。

在上述技术方案中,所述步骤s5中设置动画视图路径包括以下步骤:

s51、构建动画视图移动路径横坐标起点为0,终点为0,所述动画视图在水平方向位置不变;

s52、构建动画视图移动路径纵坐标起点为0,终点为-view_height,所述动画视图在竖直方向从纵坐标0移动至坐标-view_height。

本发明还公开一种带暂停功能的广告的动画实现装置,所述装置包括高度设置模块、动画上移模块、动画暂停模块、动画重启模块、动画下移模块;

高度设置模块,用于定义动画视图的高度信息,并将高度信息存储于安卓系统文件中,在动画初始化过程中通过调用系统的读取系统资源函数获取所述高度信息;

动画上移模块,用于在安卓系统中构建位移动画类对象,在所述对象中根据高度设置模块中高度信息设置动画在移动端屏幕上的移动路径和动画移动时间,调用启动函数开启动画,使动画视图从屏幕外移动至屏幕中;

动画暂停模块,用于动画开启后,设置与动画上移模块中动画移动相同时间的定时器,当定时器超时后调用停止函数将动画进行暂停;

动画重启模块,用于动画暂停后,设置与动画暂停模块中相同时间的定时器,定时器超时后将暂停动画进行开启;

动画下移模块,用于动画重新启动后设置动画移动路径,使动画视图动画上移模块中停止的位置启动移动出屏幕画面为止。

本发明还公开一种带暂停功能的广告的动画实现装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述一种带暂停功能的广告的动画实现方法的步骤。

本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述一种带暂停功能的广告的动画实现方法的步骤。

本发明一种带暂停功能的广告的动画实现方法、装置、服务器及存储介质,具有以下有益效果:本发明将动画分为上移与下移两部分,通过这两部分的划分,将中间加入暂停时间部分,当暂停部分超时后再实现下移部分动画效果,从而解决了传统方案中无法实现的暂停动画的问题。

附图说明

图1为本发明实施例一提供的一种带暂停功能的广告的动画实现方法的流程图;

图2本发明实施例二提供动画移入屏幕方法流程图;

图3本发明实施例三提供动画暂停方法流程图;

图4为本发明实施例四提供动画暂停后再开启的方法流程图;

图5为本发明实施例五提供动画移出屏幕方法流程图;

图6为本发明实施例六提供一种带暂停功能的广告的动画实现装置示意图;

图7为本发明实施例七提供的服务器的结构示意图。

具体实施方式

本发明提供一种带暂停功能的广告的动画实现方法、装置、服务器及存储介质。将动画分为上移和下移两部分,并在中间增加一个暂停部分,当动画在暂停部分超时后进行下移,从而有效展示一段自带暂停功能的动画特效。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明如图1所示实施例一提供一种带暂停功能的广告的动画实现方法,所述方法包括以下步骤,如图1所示:

s1、定义动画视图的高度信息,并将高度信息存储于安卓系统文件中,在动画初始化过程中通过调用系统的读取系统资源函数获取所述高度信息;

可选的,动画视图的高度信息存储于安卓系统的dimens.xml尺寸资源文件中,定义高度名并设置高度。

可选的,通过调用系统自带的读取系统资源函数getresources获取resources对象mresource,通过所述resources可访问应用资源和系统资源,调用此对象中的getdimension获取资源尺寸函数获取dimens.xml文件中定义高度信息,将此高度信息定义为全局变量,为了方便获取再将此全局变量定义为静态变量view_height。

所述全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建,全局变量是可以被本程序所有对象或函数引用。所述静态变量的类型关键字是static,由static加以定义后才能成为静态变量,静态变量是属于静态存储方式,静态变量在函数内定义,可随时被调用。

可选的,所述读取系统资源函数getresources是得到文件路径的函数,可以得到当前类所在的文件,也可以得到当前工程所在的目录,也可以得到当前类所在的目录等。所述getdimension获取资源尺寸函数获取到资源文件中定义的dimension值。

具体的,传统方案中直接通过定义动画视图为固定的高度信息,传统方案在对动画高度改变时容易产生错误信息并且操作过程复杂,在本实施例中被定义为静态变量的高度信息,能随时被系统函数调用,使得操作更简单方便。s2、在安卓系统中构建位移动画类对象,在所述对象中根据步骤s1中高度信息设置动画在移动端屏幕上的移动路径和动画移动时间,调用启动函数开启动画,使动画视图从屏幕外移动至屏幕中;

可选的,构建的安卓系统的translateanimation类对象,所述translateanimatio为平移动画的类,负责动画视图的位移。

构建的translateanimation类的对象为mtranslateanimation,此对象设置了对应的参数信息,此参数信息为动画视图的移动坐标。移动坐标为(fromxdelta,toxdelta,fromydelta,toydelta),其中fromxdelta表示动画开始点的x轴坐标,有数字、百分数表达方式,toxdelta表示动画结束点的x轴坐标,fromydelta表示动画开始点的y轴坐标,toydelta表示动画结束点的y轴坐标。

可选的,所述步骤s2中设置动画移动的时间周期为1秒钟。所述时间的设置是通过调用mtranslateanimation中的setduration函数。所述setduration函数为设置持续时间函数,setduration(1000),即表示该动画在1秒播放完成,数值表示毫秒值。

可选的,所述步骤s2中启动动画函数是通过调用mtranslateanimation中的mtranslateanimation.start函数开启动画。动画按照设置的坐标进行移动。所述动画从屏幕外不可见移动至屏幕中完全可见。

s3、动画开启后,设置与步骤s2中动画移动相同时间的定时器,当定时器超时后调用停止函数将动画进行暂停;

s4、动画暂停后,设置与步骤s3相同时间的定时器,定时器超时后将暂停动画进行开启;

s5、动画重新启动后设置动画移动路径,使动画视图从步骤s4中停止的位置启动移动出屏幕画面为止。

可选的,构建的translateanimation类的对象为mtranslateanimation2,此对象设置了对应的参数信息,此参数信息为动画视图的移动坐标。

具体的,使用位移动画类函数构建动画视图的路径位移坐标,能根据需求控制动画视图移入屏幕的位置和路径,动画从构建的起始坐标位移至中点坐标,即从屏幕外移动至屏幕中为动画的上移过程,在此过程中设置定时器,等定时器超时后将动画视图在屏幕中暂停一段时间,同时设定暂停的定时器,当定时器超时后,动画视图从屏幕中点坐标移动至终点坐标,即从暂停的位置移出屏幕外,此过程为下移过程。

本发明实施例二提供的步骤s2中设置动画视图移动路径包括以下步骤,如图2所示:

s21、定义移动端屏幕坐标系左端顶部为原点,坐标系x轴水平向右为正方向,y轴竖直向下为正方向;

可选的,所述移动端为内置安卓系统的移动设备。

s22、构建动画视图移动路径横坐标起点为0,终点为0,所述动画视图在水平方向位置不变。

s23、构建动画视图纵坐标起点调用所述静态变量设置为-view_height,终点为0,所述动画视图在竖直方向纵坐标-view_height移动至终点。

具体的,实施例二根据构建动画视图的移动路径坐标,动画视图的移动路径在水平x轴方向无变化,在竖直y轴方向移动,实现了动画视图从屏幕外不可见至屏幕中完全可见。

本发明实施例三提供的所述步骤s3包括以下步骤,如图3所示:

s31、调用定时器构造函数获取定时器对象;

可选的,定时器timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。定时器timer获取的定时器对象为mtimer。timer属于单线程,每创建个timer实例,就会创建一个新线程,timertask是以队列的方式一个个的执行,timertask中的cancel将自身中从队列中清除,timer中的cancel是将任务队列中的全部任务进行取消。

s32、调用定时器对象开启时间周期为1秒钟的任务;

可选的,通过调用mtimer中的mtimer.schedule(task,1000),用此函数开启周期为1秒钟的任务。其中,schedule(timertasktask,longdelay)是以当前时间为基准,延迟指定的毫秒后执行一次timertask任务。schedule(timertasktask,datetime)在指定的日期执行一次timertask任务。如果日期time早于当前时间,则立刻执行。

s33、定义定时器超时后的任务对象,所述任务对象完成动画停止操作。

可选的,定义一个runnable类型的对象task,该runnable类型的task对象就是定时器超时后的任务对象,在task对象中复写run函数,通过调用mtranslateanimation对象中的mtranslateanimation.cancel将动画进行停止操作。

可选的,所述的runnable是java实现多线程的接口,start用来启动一个线程,当调用start后,系统才会开启一个新的线程来执行用户定义的子任务,在这个过程中,会为相应的线程分配需要的资源。run是不用调用的,当通过start方法启动一个线程之后,当线程获得了cpu执行时间,便进入run去执行具体的任务。

具体的,构建的定时器函数设定时间任务,设置的时间与动画视图从屏幕外移动时间进屏幕中的时间相同,等定时器超时后,动画即被暂停。

本发明实施例四提供所述步骤s4中暂停动画开启包括以下步骤,如图4所示:

s41、重复步骤s31~s32开启暂停的定时器任务;

可选的,通过调用mtranslateanimation对象中的mtranslateanimation.cancel将动画进行停止操作,通过调用定时器timer开启暂停的定时器任务,当定时器超时后进行开启下移动画的操作。

s42、当定时器超时后,在子线程中定义消息分发对象,调用所述消息分发对象中的消息发送函数将空消息发送至主线程中,所述空消息用于主线程与子线程的信息交互;

所述主线程是当一个程序启动时,就有一个进程被操作系统创建,与此同时一个线程也立刻运行,该线程通常叫做程序的主线程(mainthread),因为它是程序开始时就执行的,如果需要再创建线程,那么创建的线程就是这个主线程的子线程。每个进程至少都有一个主线程。

所述定时器的执行流程是在子线程中进行的,在子线程中无法开启动画特效,因此需要将子线程的消息转发到主线程中。

可选的,定义handler的对象mhandler,所述handler就是解决线程和线程之间的通信的函数,通过调用mhandler对象中的sendmsgtotarget函数将一个空消息发送到主线程中。

s43、主线程接收子线程发送的空消息,并在接收消息后执行动画开启操作。

可选的,所述空消息没有消息体,占用内存小并且传输快,主线程接收此空消息后进行处理,因为不用处理消息体,使得处理速度更快。主线程接收空消息即为接收开启动画的消息,将进行动画开启操作,通过调用mtranslateanimation中的mtranslateanimation.start函数开启动画。

可选的,主线程中通过复写handler对象中的onmessage函数来实现对这个子线程的空消息进行接受处理,然后在接受该消息的地方重新开启动画效果处理。

所述handler产生的背景,android应用程序被创建的时候都需要创建一个ui主线程,但是有时会有一些耗时的操作,为了防止阻塞ui主线程,会将耗时的操作放到子线程中进行处理,处理完之后操作ui,但是android不允许子线程操作ui,违背了android单线程模型的原则(即androidui操作并不是线程安全的并且这些操作必须在ui线程中执行),所以android系统通过handler消息机制来实现线程之间的通讯。所述ui主要控制界面的显示、更新和控件交互。

具体的,使用与实施例三相同的定时器函数设定时间任务,当定时器超时后,本暂停的动画即被启动开始移动。

本发明实施例五提供所述步骤s5中设置动画视图路径包括以下步骤,如图5所示:

s51、构建动画视图移动路径横坐标起点为0,终点为0,所述动画视图在水平方向位置不变;

s52、构建动画视图移动路径纵坐标起点为0,终点为-view_height,所述动画视图在竖直方向从纵坐标0移动至坐标-view_height。

具体的,构建动画视图的移动路径坐标,动画视图的移动路径在水平x轴方向无变化,在竖直y轴方向移动,动画视图按照路径从屏幕中坐标移动至终点坐标,使得动画视图从屏幕中暂停位置移动至屏幕外不可见。

本发明实施例六提供一种带暂停功能的广告的动画实现装置,所述装置包括高度设置模块、动画上移模块、动画暂停模块、动画重启模块、动画下移模块,如图6所示;

高度设置模块61,用于定义动画视图的高度信息,并将高度信息存储于安卓系统文件中,在动画初始化过程中通过调用系统的读取系统资源函数获取所述高度信息;

动画上移模块62,用于在安卓系统中构建位移动画类对象,在所述对象中根据高度设置模块中高度信息设置动画在移动端屏幕上的移动路径和动画移动时间,调用启动函数开启动画,使动画视图从屏幕外移动至屏幕中;

动画暂停模块63,用于动画开启后,设置与动画上移模块中动画移动相同时间的定时器,当定时器超时后调用停止函数将动画进行暂停;

动画重启模块64,用于动画暂停后,设置与动画暂停模块中相同时间的定时器,定时器超时后将暂停动画进行开启;

动画下移模块65,用于动画重新启动后设置动画移动路径,使动画视图动画上移模块中停止的位置启动移动出屏幕画面为止。

本发明实施例七提供一种带暂停功能的广告的动画实现装置的服务器结构示意图,如图7所示,所述实施例的服务器包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各方法实施例中的步骤,所述处理器70执行所述计算机程序72时实现上述装置实施例中各模块的功能。

所述一种带暂停功能的广告的动画实现装置的服务器可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,所述一种带暂停功能的广告的动画实现装置的服务器可包括,但不限于,处理器70、存储器71。图7仅仅是对此服务器的示例,并不构成对此服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,所述一种带暂停功能的广告的动画实现装置的服务器还可以包括输入输出设备73、显示设备74和移动端75等。

所述处理器70可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述一种带暂停功能的广告的动画实现装置的服务器的内部存储单元、硬盘或内存。所述存储器71也可以是所述服务器的外部存储设备,或配备的插接式硬盘,智能存储卡,安全数字卡,闪存卡等。

进一步地,所述存储器71还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

所述的输入输出设备73可用于接收输入的数字或字符信息,具体的,输入输出设备73还可以包括但不限于键盘、鼠标、操作杆等中的一种和多种。

所述的显示设备74可用于显示由用户输入的信息或提供给用户信息以及终端的各种菜单,显示设备74可包括显示面板,可选的,可采用液晶显示器。

所述的移动端75可用于直播视频,移动端75可包括移动设备,pc设备,可选的,可采用手机端设备,平板电脑。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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