一种2D游戏中的控件动画实现方法及系统技术方案

技术编号:12987086 阅读:51 留言:0更新日期:2016-03-09 19:09
本发明专利技术公开了一种2D游戏中的控件动画实现方法,包括以下步骤:将控件与代表相应角色的任一骨骼的元素以预定函数进行关联;根据被关联的所述元素的第一动画数据和所述预定函数,生成所述控件的第二动画数据;所述控件以所述第二动画数据来显示动画效果。本发明专利技术还公开了一种2D游戏中的控件动画实现系统,包括关联模块、控件动画数据生成模块和控件动画显示模块。本发明专利技术一方面使得2D游戏中的控件的动画融入到其相应的角色的动画中,改善游戏画面视觉效果,提升用户体验效果,另一方面无需再单独制作控件的动画而节省了动画制作成本,提高运行动画的性能。

【技术实现步骤摘要】

本专利技术涉及2D游戏领域,尤其涉及一种2D游戏中的控件的动画实现方法及系统。
技术介绍
C0C0S2d-x是MIT许可证下发布的开源游戏引擎,游戏开发快速、简易、功能强大。Cocos2d-x核心优势在于允许开发人员利用C++、Lua及JavaScript来进行跨平台部署,覆盖平台包括1S、Android、Windows Phone、黑莓(BlackBerry)及Tizen等,省事省力省成本。在Cocos2d_x中,UI界面层和非UI界面层(场景层)的动画实现方式分别是:UI界面层的动画实现方式:动画的具体内容是依靠精灵显示出来的(其中精灵是一个2D图像,可以移动、旋转、放大缩小、活动,还能进行变化),为了显示动态图片,需要不停切换精灵显示的内容,通过把静态的精灵变为动画播放器从而实现动画效果。动画由帧组成,每一帧都是一个纹理,使用一个纹理序列来创建动画。2D手游的UI界面层上的每一个控件是一个精灵,并可以作为精灵的父子类,通过改变序列上每一帧的精灵的位移、旋转、缩放、透明度、交互性质、适配、尺寸等属性形成界面帧动画;非UI界面层(场景层)的动画实现方式:有两种,一种是与UI界面层动画一致通过设置精灵序列属性来实现帧动画(包括序列帧),帧动画的每一帧都是角色特定姿势的一个快照,动画的流畅性和平滑效果都取决于帧数的多少;另外一种是通过骨骼动画来实现,骨骼动画是把角色的各部分身体部件图片绑定到一根根互相作用连接的“骨头”上,通过控制这些骨骼的位置、旋转方向和放大缩小而生成动画。在2D手游中,因UI界面层交互需要响应,因此UI界面层一般位于所有的非UI界面层(场景层)的最上方,而其他非UI界面层(场景层)根据游戏需要依次位于UI界面层的下方。鉴于上述的UI界面层和非UI界面层(场景层)的动画实现方式,UI界面层上的一些特殊控件,如进度条、按钮必须位于UI界面层实现其功能,不能像单纯的图片可以位于非UI界面层(场景层)中,因此这些控件的相关动画的实现只能位于UI界面层,不可移动到非UI界面层(场景层)来制作,UI界面层与非UI界面层(场景层)之间如果有动画配合就需要分别制作,一方面受到手机性能的影响、互相的帧率会有差别,在渲染的时候两层动画表现可能会有时间延迟而使得效果不佳;另一方面UI界面层位于非UI界面层(场景层)的最上方,视觉上浮动于整个画面的最上方,对于表现于下方非UI界面层(场景层)的场景、影响、怪物等内容的互动欠佳,视觉上的体验较差;此外分别单独制作动画的实现成本也较高。
技术实现思路
为解决上述技术问题,本专利技术提出一种2D游戏中的控件动画实现方法及系统,一方面使得2D游戏中的控件的动画融入到其相应角色的动画中,两层动画表现完全一致,改善游戏画面视觉效果,提升用户体验效果,另一方面无需再单独制作控件的动画而节省了动画制作成本,提高运行动画的性能。为达到上述目的,本专利技术采用以下技术方案:本专利技术公开了一种2D游戏中的控件动画实现方法,包括以下步骤:S1:将控件与代表相应角色的任一骨骼的元素以预定函数进行关联;S2:根据被关联的所述元素的第一动画数据和所述预定函数,生成所述控件的第二动画数据;S3:所述控件以所述第二动画数据来显示动画效果。优选地,所述控件位于UI界面层,被关联的所述元素位于非UI界面层,其中所述UI界面层位于所述非UI界面层的上方。优选地,所述控件是进度条、按钮、滑块中的至少一种。优选地,所述第一动画数据包括被关联的所述元素的坐标位置,所述第二动画数据包括所述控件的坐标位置。优选地,所述预定函数为y = x+a,其中y是所述控件的横坐标或纵坐标,x是所述被关联的所述元素的横坐标或纵坐标,a是预设的常数。进一步地,a = 0。本专利技术还公开了一种2D游戏中的控件动画实现系统,包括:关联模块,用于将控件与代表相应角色的任一骨骼的元素以预定函数进行关联;控件动画数据生成模块,用于根据被关联的所述元素的第一动画数据和所述预定函数,生成所述控件的第二动画数据;控件动画显示模块,用于将所述控件以所述第二动画数据来显示动画效果。优选地,所述控件位于UI界面层,被关联的所述元素位于非UI界面层,其中所述UI界面层位于所述非UI界面层的上方。优选地,所述控件是进度条、按钮、滑块中的至少一种。优选地,所述第一动画数据包括被关联的所述元素的坐标位置,所述第二动画数据包括所述控件的坐标位置。优选地,所述预定函数为y = x+a,其中y是所述控件的横坐标或纵坐标,x是被关联的所述元素的横坐标或纵坐标,a是预设的常数。进一步地,a = 0。与现有技术相比,本专利技术的有益效果在于:本专利技术通过将控件与代表相应角色的任一骨骼的元素进行关联,根据被关联的相应角色的骨骼的元素的动画数据来生成控件的动画数据并进行显示,一方面使得控件可以不局限于其所在的UI界面层上的表现,与相应的角色的动画有所关联,在视觉上控件的表现更加融入其他界面层的表现,从而达到动画整体的一致性,实现游戏画面的整体性和流畅性,改善游戏画面视觉效果,提升用户体验效果;另一方面控件的动画效果只需根据被关联的相应角色的骨骼的元素的动画制作完成,而无需再另外单独制作控件的动画就能更好地实现控件与相应角色的动画配合,节省了动画制作的成本和动画资源,提高运行动画时的性能。【附图说明】图1是本专利技术优选实施例的2D游戏中的控件动画实现方法的流程图。【具体实施方式】下面对照附图并结合优选的实施方式对本专利技术作进一步说明。如图1所示,本专利技术的其中一个实施例公开了一种2D游戏中的控件动画实现方法,包括以下步骤:S1:将控件与代表相应角色的任一骨骼的元素以预定函数进行关联;S2:根据被关联的元素的第一动画数据和预定函数,生成控件的第二动画数据;S3:控件以第二动画数据来显示动画效果。其中,控件位于UI界面层,相应角色以及被关联的代表相应角色的任一骨骼的元素位于非UI界面层,且UI界面层位于非UI界面层的上方。其中,控件是指进度条、按钮、滑块中的至少一种。在进一步的实施例中,第一动画数据包括被关联的元素的坐标位置,第二动画数据包括控件的坐标位置。进一步地,预定函数为1 = x+a,其中y是控件的横坐标或纵坐标,X是被关联的元素的横坐标或纵坐标,a是预设的常数;在特定情况下可以设定a当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种2D游戏中的控件动画实现方法,其特征在于,包括以下步骤:S1:将控件与代表相应角色的任一骨骼的元素以预定函数进行关联;S2:根据被关联的所述元素的第一动画数据和所述预定函数,生成所述控件的第二动画数据;S3:所述控件以所述第二动画数据来显示动画效果。

【技术特征摘要】

【专利技术属性】
技术研发人员:王竹灵
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1