动画用户界面渲染系统及方法

文档序号:6482593阅读:132来源:国知局
专利名称:动画用户界面渲染系统及方法
技术领域
本发明涉及一种动画渲染系统及方法,特别是关于一种动画用户界面渲染系统及 方法。
背景技术
随着手机、个人数字助理、全球卫星定位系统等嵌入式产品的发展,对用户界面的 需求不断提高。具有动感的视觉效果的用户界面受到了用户的广泛欢迎。在现有的技术中,动画用户界面的实现过程比较复杂。每个动画需要程序员显式 地创建而产生,在显式生成动画过程中,需要关心动画的创建、运行和管理等细节问题。因 此,程序员可能需要书写大量的实现代码来显式地创建一个动画,这种显式地创建动画的 方式会增加程序员的重复劳动,也会增加动画创建过程中出现漏洞的概率。

发明内容
鉴于以上内容,有必要提供一种实现过程简单的动画用户界面渲染系统,能提高 动画用户界面渲染效率,且能防止动画用户界面渲染错误。此外,还有必要提供一种实现过程简单的动画用户界面渲染方法,能提高动画用 户界面渲染效率,且能防止动画用户界面的渲染错误。一种动画用户界面渲染系统,该系统包括控件、设置模块、解析模块、绘制模块、更 新模块及合成模块,其中所述设置模块用于设置与控件相关联的动画的样式及帧数,所述 样式指控件相对应的图层的属性的变化方式,所述帧数指组成动画的帧的个数;所述控件 用于接收输入信息,将接收到的输入信息转化为改变图层属性的消息,并发送改变图层属 性的消息,以改变控件相对应图层的属性的目标值;所述解析模块用于接收并解析控件发 送的改变图层属性的消息,以确定是否需要重新绘制控件相对应的图层;所述绘制模块用 于当需要重新绘制控件相对应的图层时,根据需要重新绘制所述控件相对应的图层;所述 更新模块用于根据设置的与控件相关联的动画的样式及帧数,更改所述控件相对应的图层 的属性的当前值,使控件相对应的图层的属性的当前值向控件相对应的图层的属性的目标 值逼近;及所述合成模块用于将发生改变后的所述控件相对应的图层合成到渲染结果缓冲 区并输出渲染结果。—种动画用户界面渲染方法,该方法包括步骤设置与控件相关联的动画的样式 及帧数,所述样式指控件相对应的图层的属性的变化方式,所述帧数指组成动画的帧的个 数;控件接收输入信息,将接收到的输入信息转化为改变图层属性的消息并发送该改变图 层属性的消息,以改变控件相对应图层的属性的目标值;接收并解析改变图层属性的消息, 若需要重新绘制控件相对应的图层,根据需要重新绘制控件相对应的图层;根据设置的与 控件相关联的动画的样式及帧数,更改控件相对应的图层的属性的当前值,使控件相对应 的图层的属性的当前值向控件相对应的图层的属性的目标值逼近;将发生改变后的控件相 对应的图层合成到渲染结果缓冲区并输出渲染结果;及若控件相对应的图层的属性的当前值不等于控件相对应的图层的属性的目标值,则返回更改控件相对应的图层的属性的当前 值的步骤。本发明将用户对控件的操作转化为控件相对应的图层的属性的目标值的改变,从 而激发动画。用户不需要采用显式地创建动画的方式来产生动画,不必关心动画的创建、运 行和管理等细节问题,从而提高了动画用户界面渲染效率,且避免了动画用户界面的渲染错误。


图1为本发明动画用户界面渲染系统的功能模块图。图2为本发明动画用户界面渲染方法的流程图。
具体实施例方式动画是由多个帧组成的,一帧就是一个静止的画面。通常采用图层来制作动画,在 图层上可以绘制任何想要的内容。图层具有位置、高度、宽度、背景色及透明度等属性。位置就是图层的坐标,包括横 坐标和纵坐标。例如,用(χ,y)表示图层的位置,χ表示横坐标,y表示纵坐标。高度和宽 度表示图层的大小。透明度表示图层内容显示的清晰程度,通过调节图层的透明度可以实 现各种半透明效果。控件是用户界面中的一种对象,包括按钮、列表框、文本框等。根据本发明,控件接 收到输入信息后,能够产生与控件相关联的动画。与控件相关联的动画由控件相对应的图
层产生。参阅图1所示,是本发明动画用户界面渲染系统的功能模块图。该系统适用于手 机、个人数字助理(PDA)等嵌入式系统。所述动画用户界面渲染系统10包括控件100、设置模块101、解析模块102、绘制模 块103、更新模块104及合成模块105。所述设置模块101用于设置与控件100相关联的动画的样式及帧数。所述样式指 控件100相对应的图层的属性变化方式,例如线性变化、渐渐变快和渐渐变慢等方式。所述 帧数指组成动画的帧的个数,例如14帧。所述控件100用于接收输入信息,将接收到的输入信息转化为改变图层属性的消 息,并发送改变图层属性的消息,以改变控件100相对应图层的属性的目标值。所述输入信 息可能由用户对该控件100进行操作而产生,例如,用户点击一个按钮从而对该按钮产生 一个输入信息。控件100接收到的输入信息还可能由于其他原因产生,例如,由其他的控件 发送消息给控件100而产生。当接收到输入信息后,控件100将接收到的输入信息转化为 改变图层属性的消息,并将改变图层属性的消息发送给解析模块102。例如,用户点击一个 按钮,假设该按钮对点击按钮事件对应的逻辑为将背景色设置为红色,则该按钮接收到用 户的点击后,调用SetBackC0I0r(Red)发送改变背景色的消息(即改变图层背景色属性的 消息),将背景色的目标值变为红色。在本实施例中,改变图层属性的函数包括CreateLayer,SetLayerContent, SetLayerPosition, SetLayerWidth, SetLayerOpacity, SetBackColor,RemoveLayerByIndex 等。其中,CreateLayer @ Tj^ 建立新图层,SetLayerContent ^ 示设置图层内容,SetLayerPosition表示设置图层位置,SetLayerWidth表示设置图 层宽度,SetLayerOpacity表示设置图层不透明度,SetBackColor表示设置背景色, RemoveLayerByIndex 表不移动图层。所述解析模块102用于接收并解析改变图层属性的消息,以确定是否需要重新绘 制控件100相对应的图层。一般而言,只有把重绘的代理函数和控件100相对应图层的某个 属性的目标值的改变相绑定时才会激发重绘。也就是说,如果指定控件100相对应图层的 某个属性的目标值的改变的处理方法是进行重绘(通常需要通过代理函数来进行指定), 则控件100相对应图层的该属性的目标值发生改变时,才会对控件100相对应图层进行重 新绘制。所述绘制模块103用于当需要重新绘制控件100相对应的图层时,根据需要重新 绘制控件100相对应的图层。绘制模块103可以根据需要对控件100相对应的图层中的内 容进行新增、删除或者修改。举例来说,假设控件100相对应的图层包括太阳、树木和池塘, 则绘制模块103可以在该图层中增加新的内容,如绘制一个房子,绘制模块103可以在该图 层中删除原有的内容,如将池塘删除,绘制模块103对该图层的内容进行修改,例如将池塘 更改为河流。所述更新模块104用于根据设置的动画的样式及帧数,更改控件100相对应的图 层的属性的当前值。举例来说,假设动画的样式设置为渐渐变快,帧数设置为14,控件100 相对应的图层的位置横坐标的当前值为0,目标值为105,则控件100相对应的图层的位置 横坐标的当前值递增地变化,例如从0依次更改为1,3,6,10,15,21,28,36,45,55,66,78, 91,105。也就是说,经过14帧控件100相对应的图层的位置横坐标的当前值从0变化到 105。所述合成模块105用于将发生改变后的控件100相对应的图层合成到渲染结果缓 冲区并输出渲染结果。例如,将渲染结果输出到手机屏幕。需要说明的是,控件100相对应 的图层所发生的改变可能仅是重新绘制,或者仅是更改属性,还可能是既重新绘制又更改 属性。参阅图2所示,是本发明动画用户界面渲染方法的流程图。该方法适用于手机、个 人数字助理(PDA)等嵌入式系统。步骤S200,设置模块101设置与控件100相关联的动画的样式及帧数。所述样式 指控件100相对应的图层的属性变化方式,例如线性变化、渐渐变快和渐渐变慢等方式。所 述帧数指组成动画的帧的个数,例如14帧。步骤S201,控件100接收输入信息,将接收到的输入信息转化为改变图层属性的 消息,并发送改变图层属性的消息,以改变控件100相对应图层的属性的目标值。所述输入 信息可能由用户对该控件100进行操作而产生,例如,用户点击一个按钮从而对该按钮产 生一个输入信息。控件100接收到的输入信息还可能由于其他原因产生,例如,由其他的控 件发送消息给控件100而产生。当接收到输入信息后,控件100将接收到的输入信息转化 为改变图层属性的消息,并将改变图层属性的消息发送给解析模块102。例如,用户点击一 个按钮,假设该按钮对点击按钮事件对应的逻辑为将背景色设置为红色,则该按钮接收到 用户的点击后,调用SetBackC0I0r(Red)发送改变背景色的消息(即改变图层背景色属性的消息),将背景色的目标值变为红色。在本实施例中,改变图层属性的函数包括CreateLayer,SetLayerContent, SetLayerPosition, SetLayerffidth, SetLayerOpacity, SetBackColor, RemoveLayerByIndex 等。其中,CreateLayer @ Tj^ 建立新图层,SetLayerContent ^ 示设置图层内容,SetLayerPosition表示设置图层位置,SetLayerWidth表示设置图 层宽度,SetLayerOpacity表示设置图层不透明度,SetBackColor表示设置背景色, RemoveLayerByIndex 表不移动图层。步骤S202,解析模块102接收并解析改变图层属性的消息,以确定是否需要重新 绘制控件100相对应的图层。一般而言,只有把重绘的代理函数和控件100相对应图层的 某个属性的目标值的改变相绑定时才会激发重绘。也就是说,如果指定控件100相对应图 层的某个属性的目标值的改变的处理方法是进行重绘(通常需要通过代理函数来进行指 定),则控件100相对应图层的该属性的目标值发生改变时,才会对控件100相对应图层进 行重新绘制。若不需要重新绘制控件100相对应的图层,则执行步骤S204。步骤S203,若需要重新绘制控件100相对应的图层,绘制模块103根据需要重新绘 制控件100相对应的图层。绘制模块103可以根据需要对控件100相对应的图层中的内容 进行新增、删除或者修改。举例来说,假设控件100相对应的图层包括太阳、树木和池塘,则 绘制模块103可以在该图层中增加新的内容,如绘制一个房子,绘制模块103可以在该图层 中删除原有的内容,如将池塘删除,绘制模块103对该图层的内容进行修改,例如将池塘更 改为河流。步骤S204,更新模块104根据控件100相对应的图层的属性的目标值,判断是否需 要更改控件100相对应图层的属性的当前值。若控件100相对应图层的属性的当前值不等 于控件100相对应图层的属性的目标值,则需要更改该控件100相对应图层的属性的当前 值。否则,若控件100相对应图层的属性的当前值等于控件100相对应图层的属性的目标 值,则不需要更改控件100相对应图层的属性的当前值,结束流程。步骤S205,若需要更改控件100相对应图层的属性的当前值,更新模块104根据设 置的样式及帧数更改控件100相对应的图层的属性的当前值,使控件100相对应图层的属 性的当前值向控件100相对应图层的属性的目标值逼近。举例来说,假设动画的样式设置 为渐渐变快,帧数设置为14,控件100相对应图层的属性的位置横坐标的当前值为0,目标 值为105,则控件100相对应图层的属性的位置横坐标的当前值递增地变化,例如从0依次 更改为 1,3,6,10,15,21,28,36,45,55,66,78,91,105。也就是说,经过 14 帧控件 100 相对 应的图层的位置横坐标的当前值从0变化到105。步骤S206,合成模块105将发生改变后的控件100相对应的图层合成到渲染结果 缓冲区并输出渲染结果。例如,将渲染结果输出到手机屏幕。需要说明的是,控件100相对 应的图层所发生的改变可能仅是重新绘制,或者仅是更改属性,还可能是既重新绘制又更 改属性。
权利要求
一种动画用户界面渲染系统,其特征在于,该系统包括控件、设置模块、解析模块、绘制模块、更新模块及合成模块,其中所述设置模块用于设置与控件相关联的动画的样式及帧数,所述样式指控件相对应的图层的属性的变化方式,所述帧数指组成动画的帧的个数;所述控件用于接收输入信息,将接收到的输入信息转化为改变图层属性的消息,并发送改变图层属性的消息,以改变控件相对应图层的属性的目标值;所述解析模块用于接收并解析控件发送的改变图层属性的消息,以确定是否需要重新绘制控件相对应的图层;所述绘制模块用于当需要重新绘制控件相对应的图层时,根据需要重新绘制所述控件相对应的图层;所述更新模块用于根据设置的与控件相关联的动画的样式及帧数,更改所述控件相对应的图层的属性的当前值,使控件相对应的图层的属性的当前值向控件相对应的图层的属性的目标值逼近;及所述合成模块用于将发生改变后的所述控件相对应的图层合成到渲染结果缓冲区并输出渲染结果。
2.如权利要求1所述的动画用户界面渲染系统,其特征在于,所述与控件相关联的动 画的样式包括线性变化、渐渐变快和渐渐变慢。
3.如权利要求1所述的动画用户界面渲染系统,其特征在于,该系统适用于嵌入式系统。
4.一种动画用户界面渲染方法,其特征在于,该方法包括步骤设置与控件相关联的动画的样式及帧数,所述样式指控件相对应的图层的属性的变化 方式,所述帧数指组成动画的帧的个数;控件接收输入信息,将接收到的输入信息转化为改变图层属性的消息并发送该改变图 层属性的消息,以改变控件相对应图层的属性的目标值;接收并解析改变图层属性的消息,若需要重新绘制控件相对应的图层,根据需要重新 绘制控件相对应的图层;根据设置的与控件相关联的动画的样式及帧数,更改控件相对应的图层的属性的当前 值,使控件相对应的图层的属性的当前值向控件相对应的图层的属性的目标值逼近; 将发生改变后的控件相对应的图层合成到渲染结果缓冲区并输出渲染结果;及 若控件相对应的图层的属性的当前值不等于控件相对应的图层的属性的目标值,则返 回更改控件相对应的图层的属性的当前值的步骤。
5.如权利要求4所述的动画用户界面渲染方法,其特征在于,所述与控件相关联的动 画的样式包括线性变化、渐渐变快和渐渐变慢。
6.如权利要求4所述的动画用户界面渲染方法,其特征在于,该方法适用于嵌入式系统。
全文摘要
一种动画用户界面渲染方法,该方法根据控件接收到的输入信息改变控件相对应的图层的属性的目标值,根据控件相对应的图层的属性的目标值的改变更改控件相对应的图层的属性的当前值,使控件相对应的图层的属性的当前值向控件相对应的图层的属性的目标值逼近,从而生成动画。本发明还提供一种动画用户界面渲染系统。本发明能够简单高效地实现动画用户界面渲染。
文档编号G06T13/00GK101882321SQ20091005088
公开日2010年11月10日 申请日期2009年5月8日 优先权日2009年5月8日
发明者刘俊成, 方华, 朱维松, 贺甲 申请人:上海科泰世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1