CN110033501B - 一种动画的实现方法及电子终端 - Google Patents

一种动画的实现方法及电子终端 Download PDF

Info

Publication number
CN110033501B
CN110033501B CN201810023383.2A CN201810023383A CN110033501B CN 110033501 B CN110033501 B CN 110033501B CN 201810023383 A CN201810023383 A CN 201810023383A CN 110033501 B CN110033501 B CN 110033501B
Authority
CN
China
Prior art keywords
animation
instance
picture
setting
calling
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.)
Active
Application number
CN201810023383.2A
Other languages
English (en)
Other versions
CN110033501A (zh
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810023383.2A priority Critical patent/CN110033501B/zh
Publication of CN110033501A publication Critical patent/CN110033501A/zh
Application granted granted Critical
Publication of CN110033501B publication Critical patent/CN110033501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

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

Abstract

本发明公开了一种动画的实现方法及电子终端,为了避免使用动态图片,本发明基于获取目标动画的获取请求,调用第一实例完成第一点缀动画;然后调用第二实例完成第二点缀动画,所述第二点缀动画和所述第一点缀动画的颜色深度不同;再将所述第一点缀动画和所述第二点缀动画结合形成目标动画,用以代替gift图片。在加载目标动画时,可以直接调用实例完成目标动画以供加载,进而能够节约大量的资源,并且可以自定义加载任意的图片形成目标动画而并不仅限于加载的动态图片,故而,能够实现更灵活的动画效果。

Description

一种动画的实现方法及电子终端
技术领域
本申请涉及互联网移动端应用开发领域,尤其涉及一种动画的实现方法及电子终端。
背景技术
随着互联网的快速发展,人们享受到了科技发展带来的各种便利。现在人们可以通过各种类型的电子设备,享受随着科技发展带来的舒适生活。在电子设备中可以安装多种应用软件供用户使用,例如直播类软件、聊天类软件、视频类软件等等。
以直播类软件为例,主播可以登录直播类软件进入自己的直播间,通过唱歌、跳舞、游戏等等方式吸引大量的观众进入直播间观看其表演。观众如果对主播满意可以购买虚拟礼物赠送给主播。
而为了增加直播间的多样性,这些虚拟礼物通常以动画的形式呈现,另外,直播间的提示、升级提醒等等也可以以动画的形式进行提示。这样的设计可以极大的增加用户的感受,让用户感觉有动感。
而在实际开发中,直播间的动画大多都是直接加载动画的gif图(动态图),但是这样就需要在直播间***需要很多gif图,大量的gif图会导致内存负载过大。
发明内容
本发明了提供了一种动画的实现方法及电子终端,以解决或者部分解决目前由于***动态图导致的内存负载过大的技术问题。
为解决上述技术问题,本发明提供了一种动画的实现方法,所述方法包括:
基于获取目标动画的获取请求,调用第一实例完成第一点缀动画;
调用第二实例完成第二点缀动画,所述第二点缀动画和所述第一点缀动画的颜色深度不同;
将所述第一点缀动画和所述第二点缀动画结合形成目标动画。
优选的,在所述基于获取目标动画的获取请求,调用第一实例完成第一点缀动画之前,所述方法还包括:
获得直播间的当前动画等级;
将所述当前动画等级和预设动画等级进行比较;
若所述当前动画等级大于所述预设动画等级,生成所述获取请求。
优选的,所述调用第一实例完成第一点缀动画,具体包括:
通过设置动画实例scaleAnimation完成第一图片的缩放;
通过设置动画实例opacityAnimation完成所述第一图片的透明度变化;
通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画。
优选的,在所述通过设置动画实例scaleAnimation完成所述第一图片的缩放之前,所述方法还包括:
调用动画基本类CABasicAnimation;
调用所述动画基本类CABasicAnimation的animationWithKeyPath方法构建所述动画实例scaleAnimation;
设置所述动画实例scaleAnimation的属性为transform.scale;
设置所述动画实例scaleAnimation的fromValue属性;
设置所述动画实例scaleAnimation的toValue属性。
优选的,所述通过设置实例opacityAnimation完成所述第一图片的透明度变化,具体包括:
使用所述基本动画类CABasicAnimation调用animationWithKeyPath创建所述动画实例opacityAnimation;
设置所述动画实例opacityAnimation的fromValue为1;其中,1表示完全不透明;
设置所述动画实例opacityAnimation的toValue为0;其中,0表示完全透明。
优选的,所述通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画,具体包括:
设置所述组动画的时长为第一时间段;
设置所述组动画的animations数组,将所述动画实例scaleAnimation和所述动画实例opacityAnimation融入所述animations数组中;
设置所述组动画的执行动画间隔timingFunction;
调用所述第一图片中的图层layer的addAnimation函数,所述addAnimation函数中的参数为所述animations数组。
优选的,所述调用第二实例完成第二点缀动画,具体包括:
使用UIview的类动画调用animateWithDuration函数,设置动画执行时间的参数为第二时间段,在所述第二时间段中将所述第二图片的透明度从0变为1;其中,0表示完全透明,1表示完全不透明;
使用所述UIview的类动画调用所述animateWithDuration函数;设置动画执行时间的参数为第三时间段,在所述第三时间段中将所述第二图片的透明度从1变为0;其中,1表示完全不透明,0表示完全透明。
本发明公开了一种电子终端,包括:
第一调用模块,用于基于获取目标动画的获取请求,调用第一实例完成第一点缀动画;
第二调用模块,用于调用第二实例完成第二点缀动画,所述第二点缀动画和所述第一点缀动画的颜色深度不同;
结合模块,用于将所述第一点缀动画和所述第二点缀动画结合形成目标动画。
优选的,所述电子终端还包括:
获得模块,用于在基于获取目标动画的获取请求,调用第一实例完成第一点缀动画之前,获得直播间的当前动画等级;
比较模块,用于将所述当前动画等级和预设动画等级进行比较;
生成模块,用于若所述当前动画等级大于所述预设动画等级,生成所述获取请求。
优选的,所述第一调用模块,具体包括:
第一设置模块,用于通过设置动画实例scaleAnimation完成第一图片的缩放;
第二设置模块,用于通过设置动画实例opacityAnimation完成所述第一图片的透明度变化;
第三调用模块,用于通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画。
优选的,所述第一设置模块,具体包括:
第四调用模块,用于调用动画基本类CABasicAnimation;
第五调用模块,用于调用所述动画基本类CABasicAnimation的animationWithKeyPath方法构建所述动画实例scaleAnimation;
第三设置模块,用于设置所述动画实例scaleAnimation的属性为transform.scale;
第四设置模块,用于设置所述动画实例scaleAnimation的fromValue属性;
第五设置模块,用于设置所述动画实例scaleAnimation的toValue属性。
优选的,第二设置模块,具体包括:
第六调用模块,用于使用所述基本动画类CABasicAnimation调用animationWithKeyPath创建所述动画实例opacityAnimation;
第六设置模块,用于设置所述动画实例opacityAnimation的fromValue为1;其中,1表示完全不透明;
第七设置模块,用于设置所述动画实例opacityAnimation的toValue为0;其中,0表示完全透明。
优选的,所述第三调用模块,具体包括:
第八设置模块,用于设置所述组动画的时长为第一时间段;
第九设置模块,用于设置所述组动画的animations数组,将所述动画实例scaleAnimation和所述动画实例opacityAnimation融入所述animations数组中;
第十设置模块,用于设置所述组动画的执行动画间隔timingFunction;
第七调用模块,用于调用所述第一图片中的图层layer的addAnimation函数,所述addAnimation函数中的参数为所述animations数组。
优选的,所述第二调用模块,具体包括:
第八调用模块,用于使用UIview的类动画调用animateWithDuration函数,设置动画执行时间的参数为第二时间段,在所述第二时间段中将所述第二图片的透明度从0变为1;其中,0表示完全透明,1表示完全不透明;
第九调用模块,用于使用所述UIview的类动画调用所述animateWithDuration函数;设置动画执行时间的参数为第三时间段,在所述第三时间段中将所述第二图片的透明度从1变为0;其中,1表示完全不透明,0表示完全透明。
本发明公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明公开了一种动画的实现方法及电子终端,为了避免使用动态图片,本发明基于获取目标动画的获取请求,调用第一实例完成第一点缀动画;然后调用第二实例完成第二点缀动画,所述第二点缀动画和所述第一点缀动画的颜色深度不同;再将所述第一点缀动画和所述第二点缀动画结合形成目标动画,用以代替gift图片。在加载目标动画时,可以直接调用实例完成目标动画以供加载,进而能够节约大量的资源,并且可以自定义加载任意的图片形成目标动画而并不仅限于加载的动态图片,故而,能够实现更灵活的动画效果。
附图说明
图1为本发明实施例中一种动画的实现方法的实施过程图;
图2为本发明实施例中一种电子终端的示意图。
具体实施方式
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。
在本发明实施例中,公开了一种动画的实现方法,避免使用任何gift图片,通过调用实例完成两个点缀动画,然后将两个点缀动画结合形成目标动画,用以代替gift图片。在加载目标动画时,可以直接调用实例完成目标动画以供加载,进而能够节约大量的资源。
通过设置scaleAnimation实例,这个实例完成图片的缩放,设置opacityAnimation这个实例,这个实例完成图片的透明度的变化,最后通过一个组动画将缩放动画和透明度变化的动画两者结合起来,同时完成了两个星星的动画一个浅色和一个深色,达到一个星星闪烁的效果
参看图1,本发明公开了一种动画的实现方法,如下步骤所述:
步骤11,基于获取目标动画的获取请求,调用第一实例完成第一点缀动画。
目标动画的获取请求主要是由于直播间中的动画升级需要而获得的。故而在基于获取目标动画的获取请求,调用第一实例完成第一点缀动画之前,可获得直播间的当前动画等级,然后将所述当前动画等级和预设动画等级进行比较,若所述当前动画等级大于所述预设动画等级,生成所述获取请求。
而在具体的实施过程中,在生成第一点缀动画和第二点缀动画之前,本发明实施例还会进行一系列初始化设置,具体如下:
1)、定义图片的变量:
定义一个UIImageView类型的变量starImageView,这个变量的作用是加载第一图片。该图片的内容是不限制的,例如,该图片可以是一个深色的星星的图片,也可以根据需要设为其他类型的图片。这是制作动画的基础,后续会拿到starImageView来执行动画。
定义一个lightImageView类型的变量,这个变量的作用是加载第二图片。第二图片和第一图片的颜色深度不同,例如第一图片是深色星星的图片,第二图标是一个浅色星星的图片。当然,第二图片也可以根据需要设为其他类型的图片,后续会拿到lightImageView来执行一些动画。
2)、定义初始化方法:
重写***的坐标值初始化方法initWithFrame,这个方法是***设置位置的***方法,定义当前的等级属性。
在这个方法内部需要先调用父类的initWithFrame方法,在这个方法内部定义一个初始化的预设动画等级的变量curLevel。预设动画等级用来和当前的动画等级进行对比。如果当前的动画等级大于预设动画等级,则表示需要制作目标动画。如果当前的动画等级小于预设动画等级,则不作处理。预设动画等级的变量curLevel是可调的,例如在对比之后,如果当前的动画等级大于预设动画等级,可将预设动画等级设置为当前的动画等级,用来和下次输入的动画等级进行对比。
3)创建numberView:
创建一个numberView,这个numberView默认可以加载不同的等级,根据不同的等级展示不同的等级图片。设置这个numberView的默认的数字是0,也就是等级为0或者当前无等级,将numberView添加到当前的控制器上。
另外,将上述创建的image(starImageView、starImageView)添加到当前的控制器上,故而在控制器上,可以进行等级对比,也可以调用第一图片、第二图片等等。
上述设置定义了一些变量和初始化方法,这些变量和初始化方法在后续步骤中都有用到,作为后续的动画实现的基础。
进一步的,定义一个更新等级动画的接口函数updateLevelAnimated,这个是等级动画的接口函数,这个函数需要一个参数,这个参数是NSInteger类型。这个函数的内部实现过程如下:
当接收到当前动画等级level的时候,将当前动画等级level和预设动画等级curlevel进行比较。如果当前动画等级level≤预设动画等级curlevel,就直接返回。若当前动画等级level>预设动画等级curlevel,则触发生成第一点缀动画和第二点缀动画,由于两个点缀动画的颜色深度不同,例如一个深色星星点缀动画和第一浅色星星点缀动画就构成了一个闪烁效果。
故而,控制器在获得当前动画等级之后,则可以调用updateLevelAnimated接口函数进行动画等级的对比。例如,当直播间内的一个页面的等级发生了变化的时候,则通过调用函数updateLevelAnimated,就可以实现等级更新的动画,在实现等级更新的同时还有星星闪烁从出现到消失的效果。而本发明只需要调用一个接口(更新等级动画的接口函数updateLevelAnimated)就可以实现闪烁和等级变化的动画,函数调用很简单,实现很容易。也就是说,在调用该接口函数之后,就可以实现等级对比、利用实例完成第一点缀动画、第二点缀动画以及结合形成目标动画等等操作。
而在得到目标动画之后,需要将目标动画对应的等级和目标动画本身更新给numberView,这样numberView就可以展示更新等级的动画。
而在具体的实施过程中,在调用第一实例完成第一点缀动画的实施过程中,通过设置动画实例scaleAnimation完成第一图片的缩放;通过设置动画实例opacityAnimation完成所述第一图片的透明度变化;通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画。
下面分别介绍上述实例如何完成第一图片的缩放、透明度变化等等。
在通过设置动画实例scaleAnimation完成第一图片的缩放的具体实施过程中,调用动画基本类CABasicAnimation,调用所述动画基本类CABasicAnimation的animationWithKeyPath方法构建一个动画实例scaleAnimation,设置所述动画实例scaleAnimation的属性为transform.scale,如此便创建一个动画实例。进一步的,设置所述动画实例scaleAnimation的fromValue属性,设置所述动画实例scaleAnimation的toValue属性,这两个属性表示第一图片的缩放度。
在通过设置动画实例opacityAnimation完成所述第一图片的透明度变化的具体实施过程中,使用基本动画类CABasicAnimation调用animationWithKeyPath创建所述动画实例opacityAnimation,这是一个透明度动画的效果函数,这个函数需要一个参数@"opacity",这样就可以获得一个动画实例opacityAnimation。另外,拿到这个动画实例opacityAnimation之后,设置所述动画实例opacityAnimation的fromValue为1;其中,1表示完全不透明设置所述动画实例opacityAnimation的toValue为0;其中,0表示完全透明。
在通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画的过程中,创建一个组动画,这个组动画为groupAnimation。设置这个组动画groupAnimation的时长为第一时间段,例如0.6s。设置所述组动画的animations数组,将所述动画实例scaleAnimation和所述动画实例opacityAnimation融入所述animations数组中,也就是说,这个animations数组中的元素是scaleAnimation,opacityAnimation两个动画实例。进一步的,所述组动画的执行动画间隔timingFunction代表执行动画的间隔。设置开始执行动画的星星starImageView的图层layer调用addAnimation函数,这个函数需要一个参数,这个参数就是animations数组,也即:所述addAnimation函数中的参数为所述animations数组。故而,在设置之后,能够直接调用所述第一图片中的图层layer的addAnimation函数,将所述animations数组设置成所述addAnimation函数的参数。
通过上述设置,就能够获得第一点缀动画。本步骤使用的动画,没有使用任何gift图片,通过设置scaleAnimation实例,这个实例完成图片的缩放,设置opacityAnimation这个实例,这个实例完成图片的透明度的变化,最后通过一个组动画将缩放动画和透明度变化的动画两者结合起来,即完成了深色星星的点缀动画。
步骤12,调用第二实例完成第二点缀动画,所述第二点缀动画和所述第一点缀动画的颜色深度不同。
在具体的实施过程中,所述调用第二实例完成第二点缀动画,具体包括:
使用UIview的类动画调用animateWithDuration函数,设置动画执行时间的参数为第二时间段,例如0.2s。在所述第二时间段中将所述第二图片的透明度从0变为1;其中,0表示完全透明,1表示完全不透明。具体来说,这个animateWithDuration函数需要具有参数,这个参数是动画的执行时间,例如为0.2秒,在0.2秒内将starImageView的透明度从0变为1,也就表示从透明逐渐变成不透明。
使用所述UIview的类动画调用所述animateWithDuration函数;设置动画执行时间的参数为第三时间段,例如0.8s。在所述第三时间段中将所述第二图片的透明度从1变为0;其中,1表示完全不透明,0表示完全透明。也就是说,这个animateWithDuration函数有一个参数和两个回调。一个参数是动画的实行时间例如0.8秒。有两个回调,第一个回调里面将透明度设置为0,第二个回调设置为1。则表示从透明逐渐变成不透明。
步骤13,将所述第一点缀动画和所述第二点缀动画结合形成目标动画。
基于统一发明构思,本发明实施例公开了一种电子终端。
参看图2,本发明的电子终端包括:
第一调用模块21,用于基于获取目标动画的获取请求,调用第一实例完成第一点缀动画;
第二调用模块22,用于调用第二实例完成第二点缀动画,所述第二点缀动画和所述第一点缀动画的颜色深度不同;
结合模块23,用于将所述第一点缀动画和所述第二点缀动画结合形成目标动画。
作为一种可选的实施例,所述电子终端还包括:
获得模块,用于在基于获取目标动画的获取请求,调用第一实例完成第一点缀动画之前,获得直播间的当前动画等级;
比较模块,用于将所述当前动画等级和预设动画等级进行比较;
生成模块,用于若所述当前动画等级大于所述预设动画等级,生成所述获取请求。
作为一种可选的实施例,所述第一调用模块21,具体包括:
第一设置模块,用于通过设置动画实例scaleAnimation完成第一图片的缩放;
第二设置模块,用于通过设置动画实例opacityAnimation完成所述第一图片的透明度变化;
第三调用模块,用于通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画。
作为一种可选的实施例,所述第一设置模块,具体包括:
第四调用模块,用于调用动画基本类CABasicAnimation;
第五调用模块,用于调用所述动画基本类CABasicAnimation的animationWithKeyPath方法构建所述动画实例scaleAnimation;
第三设置模块,用于设置所述动画实例scaleAnimation的属性为transform.scale;
第四设置模块,用于设置所述动画实例scaleAnimation的fromValue属性;
第五设置模块,用于设置所述动画实例scaleAnimation的toValue属性。
作为一种可选的实施例,第二设置模块,具体包括:
第六调用模块,用于使用所述基本动画类CABasicAnimation调用animationWithKeyPath创建所述动画实例opacityAnimation;
第六设置模块,用于设置所述动画实例opacityAnimation的fromValue为1;其中,1表示完全不透明;
第七设置模块,用于设置所述动画实例opacityAnimation的toValue为0;其中,0表示完全透明。
作为一种可选的实施例,所述第三调用模块,具体包括:
第八设置模块,用于设置所述组动画的时长为第一时间段;
第九设置模块,用于设置所述组动画的animations数组,将所述动画实例scaleAnimation和所述动画实例opacityAnimation融入所述animations数组中;
第十设置模块,用于设置所述组动画的执行动画间隔timingFunction;
第七调用模块,用于调用所述第一图片中的图层layer的addAnimation函数,所述addAnimation函数中的参数为所述animations数组。
作为一种可选的实施例,所述第二调用模块22,具体包括:
第八调用模块,用于使用UIview的类动画调用animateWithDuration函数,设置动画执行时间的参数为第二时间段,在所述第二时间段中将所述第二图片的透明度从0变为1;其中,0表示完全透明,1表示完全不透明;
第九调用模块,用于使用所述UIview的类动画调用所述animateWithDuration函数;设置动画执行时间的参数为第三时间段,在所述第三时间段中将所述第二图片的透明度从1变为0;其中,1表示完全不透明,0表示完全透明。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明公开了一种动画的实现方法及电子终端,为了避免使用动态图片,本发明基于获取目标动画的获取请求,调用第一实例完成第一点缀动画;然后调用第二实例完成第二点缀动画,所述第二点缀动画和所述第一点缀动画的颜色深度不同;再将所述第一点缀动画和所述第二点缀动画结合形成目标动画,用以代替gift图片。在加载目标动画时,可以直接调用实例完成目标动画以供加载,进而能够节约大量的资源,并且可以自定义加载任意的图片形成目标动画而并不仅限于加载的动态图片,故而,能够实现更灵活的动画效果。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (7)

1.一种动画的实现方法,其特征在于,所述方法在加载目标动画时,直接调用实例完成目标动画以供加载,包括:
基于获取目标动画的获取请求,调用第一实例完成第一点缀动画,具体包括:通过设置动画实例scaleAnimation完成第一图片的缩放;通过设置动画实例opacityAnimation完成所述第一图片的透明度变化,其中,使用基本动画类CABasicAnimation调用animationWithKeyPath创建所述动画实例opacityAnimation;设置所述动画实例opacityAnimation的fromValue为1;其中,1表示完全不透明;设置所述动画实例opacityAnimation的toValue为0;其中,0表示完全透明;通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画;
调用第二实例完成第二点缀动画,具体包括:使用UIview的类动画调用animateWithDuration函数,设置动画执行时间的参数为第二时间段,在所述第二时间段中将第二图片的透明度从0变为1;其中,0表示完全透明,1表示完全不透明;使用所述UIview的类动画调用所述animateWithDuration函数;设置动画执行时间的参数为第三时间段,在所述第三时间段中将所述第二图片的透明度从1变为0;所述第二点缀动画和所述第一点缀动画的颜色深度不同;
将所述第一点缀动画和所述第二点缀动画结合形成目标动画,达到闪烁效果。
2.如权利要求1所述的方法,其特征在于,在所述基于获取目标动画的获取请求,调用第一实例完成第一点缀动画之前,所述方法还包括:
获得直播间的当前动画等级;
将所述当前动画等级和预设动画等级进行比较;
若所述当前动画等级大于所述预设动画等级,生成所述获取请求。
3.如权利要求1所述的方法,其特征在于,所述通过设置动画实例scaleAnimation完成第一图片的缩放,具体包括:
调用动画基本类CABasicAnimation;
调用所述动画基本类CABasicAnimation的animationWithKeyPath方法构建所述动画实例scaleAnimation;
设置所述动画实例scaleAnimation的属性为transform.scale;
设置所述动画实例scaleAnimation的fromValue属性;
设置所述动画实例scaleAnimation的toValue属性。
4.如权利要求1所述的方法,其特征在于,所述通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画,具体包括:
设置所述组动画的时长为第一时间段;
设置所述组动画的animations数组,将所述动画实例scaleAnimation和所述动画实例opacityAnimation融入所述animations数组中;
设置所述组动画的执行动画间隔timingFunction;
调用所述第一图片中的图层layer的addAnimation函数,所述addAnimation函数中的参数为所述animations数组。
5.一种电子终端,其特征在于,在加载目标动画时,直接调用实例完成目标动画以供加载,包括:
第一调用模块,用于基于获取目标动画的获取请求,调用第一实例完成第一点缀动画,具体包括:通过设置动画实例scaleAnimation完成第一图片的缩放;通过设置动画实例opacityAnimation完成所述第一图片的透明度变化,其中,使用基本动画类CABasicAnimation调用animationWithKeyPath创建所述动画实例opacityAnimation;设置所述动画实例opacityAnimation的fromValue为1;其中,1表示完全不透明;设置所述动画实例opacityAnimation的toValue为0;其中,0表示完全透明;通过调用组动画groupAnimation将所述第一图片的缩放和所述第一图片的透明度变化相结合,完成所述第一点缀动画;
第二调用模块,用于调用第二实例完成第二点缀动画,具体包括:使用UIview的类动画调用animateWithDuration函数,设置动画执行时间的参数为第二时间段,在所述第二时间段中将第二图片的透明度从0变为1;其中,0表示完全透明,1表示完全不透明;使用所述UIview的类动画调用所述animateWithDuration函数;设置动画执行时间的参数为第三时间段,在所述第三时间段中将所述第二图片的透明度从1变为0;所述第二点缀动画和所述第一点缀动画的颜色深度不同;
结合模块,用于将所述第一点缀动画和所述第二点缀动画结合形成目标动画,达到闪烁效果。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4任一项所述方法的步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4任一项所述方法的步骤。
CN201810023383.2A 2018-01-10 2018-01-10 一种动画的实现方法及电子终端 Active CN110033501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810023383.2A CN110033501B (zh) 2018-01-10 2018-01-10 一种动画的实现方法及电子终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810023383.2A CN110033501B (zh) 2018-01-10 2018-01-10 一种动画的实现方法及电子终端

Publications (2)

Publication Number Publication Date
CN110033501A CN110033501A (zh) 2019-07-19
CN110033501B true CN110033501B (zh) 2023-09-26

Family

ID=67234208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810023383.2A Active CN110033501B (zh) 2018-01-10 2018-01-10 一种动画的实现方法及电子终端

Country Status (1)

Country Link
CN (1) CN110033501B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111508036B (zh) * 2020-04-13 2024-03-22 网易(杭州)网络有限公司 图像处理方法、装置、存储介质和电子装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441773A (zh) * 2008-11-11 2009-05-27 宇龙计算机通信科技(深圳)有限公司 一种动画实现方法、***及移动终端
US7554542B1 (en) * 1999-11-16 2009-06-30 Possible Worlds, Inc. Image manipulation method and system
CN105325003A (zh) * 2013-04-17 2016-02-10 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序
CN105719332A (zh) * 2016-01-20 2016-06-29 阿里巴巴集团控股有限公司 色彩补间动画的实现方法和装置
CN105843622A (zh) * 2016-03-25 2016-08-10 广州华多网络科技有限公司 一种动画处理方法及设备
CN105868246A (zh) * 2015-12-15 2016-08-17 乐视网信息技术(北京)股份有限公司 一种图片显示方法及装置
CN106408632A (zh) * 2016-09-08 2017-02-15 广州阿里巴巴文学信息技术有限公司 一种基于属性动画的色调变化动画实现方法及装置
CN106933592A (zh) * 2017-03-17 2017-07-07 武汉斗鱼网络科技有限公司 互动动画生成方法及装置
CN107277632A (zh) * 2017-05-12 2017-10-20 武汉斗鱼网络科技有限公司 一种展示虚拟礼物动画的方法和设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060232589A1 (en) * 2005-04-19 2006-10-19 Microsoft Corporation Uninterrupted execution of active animation sequences in orphaned rendering objects
US9196075B2 (en) * 2011-11-14 2015-11-24 Microsoft Technology Licensing, Llc Animation of computer-generated display components of user interfaces and content items
US9710882B2 (en) * 2013-06-25 2017-07-18 Iteris Inc. Data overlay for animated map weather display and method of rapidly loading animated raster data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7554542B1 (en) * 1999-11-16 2009-06-30 Possible Worlds, Inc. Image manipulation method and system
CN101441773A (zh) * 2008-11-11 2009-05-27 宇龙计算机通信科技(深圳)有限公司 一种动画实现方法、***及移动终端
CN105325003A (zh) * 2013-04-17 2016-02-10 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序
CN105868246A (zh) * 2015-12-15 2016-08-17 乐视网信息技术(北京)股份有限公司 一种图片显示方法及装置
CN105719332A (zh) * 2016-01-20 2016-06-29 阿里巴巴集团控股有限公司 色彩补间动画的实现方法和装置
CN105843622A (zh) * 2016-03-25 2016-08-10 广州华多网络科技有限公司 一种动画处理方法及设备
CN106408632A (zh) * 2016-09-08 2017-02-15 广州阿里巴巴文学信息技术有限公司 一种基于属性动画的色调变化动画实现方法及装置
CN106933592A (zh) * 2017-03-17 2017-07-07 武汉斗鱼网络科技有限公司 互动动画生成方法及装置
CN107277632A (zh) * 2017-05-12 2017-10-20 武汉斗鱼网络科技有限公司 一种展示虚拟礼物动画的方法和设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Designing the LIT KIT: An Interactive, Environmental;George J. Schafer;《ACM》;20130630;第1-10页 *
一种高效的计算机动画方法;徐享忠,王精业,马亚龙;计算机工程与应用(08);第116-118页 *
基于洋葱皮特效的Flash动画制作原理与方法;宝航;《电子技术与软件工程》;20160819(第16期);第84-85页 *

Also Published As

Publication number Publication date
CN110033501A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN109688346B (zh) 一种拖尾特效渲染方法、装置、设备及存储介质
US9671942B2 (en) Dynamic user interface for inheritance based avatar generation
WO2022048506A1 (zh) 壁纸显示方法、装置和电子设备
CN105468353B (zh) 一种界面动画的实现方法及装置、移动终端和电脑终端
CN108289234B (zh) 一种虚拟礼物特效动画展示方法、装置和设备
WO2008151421A1 (en) User defined characteristics for inheritance based avatar generation
CN107358659B (zh) 基于3d技术的多画面融合显示方法及存储设备
CN108876748B (zh) 图片展示方法、计算设备及计算机存储介质
CN109698914B (zh) 一种闪电特效渲染方法、装置、设备及存储介质
CN105094523B (zh) 一种3d动画的展现方法及装置
US20170171277A1 (en) Method and electronic device for multimedia recommendation based on android platform
US20230325989A1 (en) Image processing method, apparatus, and device, storage medium, and computer program product
US20230405452A1 (en) Method for controlling game display, non-transitory computer-readable storage medium and electronic device
CN114095744A (zh) 视频直播方法、装置、电子设备及可读存储介质
CN110033501B (zh) 一种动画的实现方法及电子终端
CN110930325B (zh) 基于人工智能的图像处理方法、装置及存储介质
CN109656463B (zh) 个性表情的生成方法、装置及***
CN113181639B (zh) 一种游戏中的图形处理方法及装置
JPWO2008126192A1 (ja) 携帯端末装置および描画処理方法
CN111381752B (zh) 一种抓屏方法、装置、存储介质及终端
CN113230659A (zh) 一种游戏的显示控制方法及装置
CN102074035A (zh) 一种基于全景图像扭曲的手机动漫人物创作方法
CN110787452B (zh) 游戏应用的启动方法、装置以及计算机设备
KR20220046665A (ko) 픽처 처리 방법 및 디바이스, 저장 매체 그리고 전자 장치
CN114820834A (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
GR01 Patent grant
GR01 Patent grant