一种动作动画及其背景动画位置互动的方法

文档序号:6621679阅读:211来源:国知局
专利名称:一种动作动画及其背景动画位置互动的方法
技术领域
本发明涉及图像处理技术,特别是涉及一种动作动画及其背景动画位置互动的方法。
背景技术
随着社会及科技的发展,图像处理技术在计算机领域得到越来越多的应用,使得人们的工作、学习和日常生活日益丰富多彩。
现有技术中,通常采用Flash动画的方式来表现一些所需的动作,例如运行在用户电脑桌面的虚拟宠物游戏。其具体可以采用计算机程序的方式来实现,程序通过对每个Flash动画播放的控制,实现对整个宠物生活生命的描述,给用户一个有生命力的虚拟宠物体验。宠物的Flash动画经过透明化处理后,可以显示在用户桌面的任何位置。
所述透明化处理的具体过程是程序运行时创建容器窗口(窗口A),以窗口A为容器创建Flash控件窗口(窗口B)。
Flash控件提供SetBkColor接口,用于设置Flash动画的背景色。调用该接口将Flash动画的背景色设为RGB(82、81、82)黑灰色。
在播放Flash动画的时候,通过时间片轮询,频繁调用Flash的GetFrameNum方法,获得Flash动画当前帧数。
一旦帧数有变化,就意味着画面内容有变化,则利用Win32API中的SendMessage接口,发送WM_PAINT消息给窗口B,并以临时创建的CDC作为参数,即可获得窗口B(即Flash窗口)的画面内容。
将该画面内容进行分析,针对非背景色的画面内容构建出一个RGN对象,再调用SetWindowRgn将该RGN对象应用于窗口A,就实现了Flash窗口的背景透明。
现有技术虽然可以实现了Flash动画透明功能;但是,整个Flash动画的表现比较单调,无法在现有Flash动画上做表现上的增强体验。

发明内容
本发明解决的技术问题在于提供一种动作动画及其背景动画位置互动的方法,可以提高动画的个性化展现,增强动画的表现质量。
为此,本发明解决技术问题的技术方案是提供一种动作动画及其背景动画位置互动的方法,包括步骤1)判断动作动画是否附着于背景动画;如果否,则进入步骤2);如果是,则进入步骤4);2)经过预定时间后,移动动作动画,使动作动画恢复最后一次与背景动画的相对附着位置;3)记录二者已经附着;4)所述背景动画被移动时,相应移动动作动画,保持其附着位置不变。
优选地,所述步骤4)还包括背景动画持续发送消息给上层;所述上层根据该消息计算背景动画的当前位置,并按照移动前动作动画在背景动画上的附着位置来移动动作动画。
优选地,所述步骤2)具体是动作动画调用窗口隐藏函数,在当前位置消失;然后调用窗口移动函数,将动作动画窗口移动到背景动画窗口的位置上;再调用窗口显示函数,显示动作动画窗口。
优选地,所述步骤1)具体是当动作动画一个动作完成后,判断自身的位置是否已经附着在背景动画上。
优选地,还包括对所述动作动画和背景动画进行透明化处理。
优选地,所述步骤1)的判断具体是根据动作动画窗口和动画背景窗口的位置以及非背景区域来进行的。
优选地,所述非背景区域是指动作动画和背景动画未进行透明化处理的区域。
优选地,所述动作动画是Flash动画;所述背景动画是Gif动画。
相对于现有技术,本发明的有益效果是由于本发明提供动作动画和背景动画叠加附着的功能实现;在背景动画移动时,动作动画可自动跟随移动;在动作动画离开背景动画后,可以自动恢复到最后一次的相对附着位置;从而可以提高动画的个性化展现,增强动画的质量。
此外,在本发明的应用实例中,为虚拟宠物增添了生命力,增强了虚拟宠物动画的表现质量。


图1是本发明的实施例中动作动画及其背景动画的附着示意图;图2是本发明的实施例中背景动画的示意图;图3是本发明的实施例中动作动画的动作示意图;图4是本发明方法的流程图。
具体实施例方式
本发明主要用于动作动画及其背景动画的位置互动的实现,在用户的显示设备呈现两个窗口动作动画窗口和背景动画窗口。其中,动作动画窗口用于展示经过透明化处理的动作动画;背景动画窗口用于展示经过透明化处理的背景动画。
请参阅图1,在本发明的一个实施例中,Flash动画100叠加在Gif动画背景200(图2参照)之上,二者均经过透明化处理。也就是说,所述动作动画采用Flash动画;所述背景动画是Gif动画。该实施例提供实现Flash动画透明叠加在Gif动画背景的方法,同时实现了Flash动画和Gif动画背景的位置互动。
请参阅图2,是本发明的方法的流程图。
步骤S21,假设用户使用鼠标拖动Flash动画窗口时,在拖动结束时,计算Flash动画窗口和Gif动画背景窗口的位置以及非背景区域。所述非背景区域是指Flash动画和Gif动画未经过透明化处理的区域。
步骤S22,判断二者是否有部分重叠;如果是,执行步骤S23;反之则不记录,进入步骤S26。
步骤S23,则记录Flash动画与Gif动画背景已经附着。
步骤S24,在二者附着的情况下,如果用户使用鼠标拖动Gif动画背景窗口,则在此过程中,Gif动画背景窗口持续发送消息给上层。
步骤S25,上层计算Gif动画背景窗口的当前位置,按照拖动前Flash动画在Gif动画背景上的附着位置,移动Flash动画窗口,保持Flash动画窗口的附着位置不变,实现用户拖动Gif动画背景窗口,Flash动画窗口也随之被拖动的功能。
步骤S26,在二者没有附着的情况下,经过一定的随机时间后,移动Flash动画窗口,使Flash动画恢复最后一次与Gif动画背景窗口的相对附着位置。在用户看来,Flash动画只要被拖动离开了Gif动画背景,隔一段时间,Flash动画就会自动回到Gif动画背景。
本发明的一个应用实例就是桌面宠物游戏,其中如图1所示,经过透明化处理的宠物动作动画(宠物)100直接叠加在背景动画(宠物的家)200之上;图2就是背景动画200,图4是宠物在宠物的家的背景上做各种生活动作。
其中,宠物动作动画是指虚拟宠物用来表现自身成长动作的Flash动画。背景动画是指叠加在Flash动画下层的透明Gif动画。
也就是说,宠物的家是与宠物大小相似的采用GIF格式显示的透明背景图片,与宠物同时出现在用户的桌面。当用户把宠物拖动到家的上面,宠物会自动附着到家的图片上,用户拖动家的同时也在拖动宠物。
宠物运行的过程中,首先会调用一个完整的动作脚本,动作脚本详细定义了宠物每个动作的触发条件和动作的表现Flash动画。宠物在家的背景图片位置时,当用户需要拖动宠物的家的时候,系统随即跟随计算该宠物的家Gif背景的位置,随即将宠物Flash动画移动到附着的位置,从而实现了宠物的家Gif动画和宠物Flash动画的附着效果。
此外,在宠物的动作脚本中,能够设定当宠物一个动作完成后,宠物客户端自动判断自身的位置是否已经附着在家上。如果没有附着在家上,宠物将利用“瞬间消失”这个Flash动作,调用系统函数ShowWindow(SW_HIDE)(长口隐藏函数)隐藏宠物窗口,在当前位置消失,然后调用MoveWindow函数(窗口移动函数),将宠物窗口移动到宠物的家的位置上,再调用ShowWindow(SW_SHOWNOACTIVE)(窗口显示函数)显示窗口,并同时表演“瞬间显示”这个Flash动画。宠物显示后,将自动附着在宠物的家上。
综上所述,本发明涉及计算机、网络通信和网络游戏、Flash动画播放等技术。
本发明的应用实例提供了一种桌面虚拟宠物和宠物的家交互表现的解决方案。之前的所有的桌面宠物都没有类似“宠物的家”的创意,而且由于宠物是Flash动画格式,宠物的家是Gif动画格式。两者都使用透明背景处理并叠加在一起,该功能也是独树一帜并且没有先例的。
以上所述仅仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种动作动画及其背景动画位置互动的方法,其特征在于,包括步骤1)判断动作动画是否附着于背景动画;如果否,则进入步骤2);如果是,则进入步骤4);2)经过预定时间后,移动动作动画,使动作动画恢复最后一次与背景动画的相对附着位置;3)记录二者已经附着;4)所述背景动画被移动时,相应移动动作动画,保持其附着位置不变。
2.根据权利要求1所述的动作动画及其背景动画位置互动的方法,其特征在于,所述步骤4)还包括背景动画持续发送消息给上层;所述上层根据该消息计算背景动画的当前位置,并按照移动前动作动画在背景动画上的附着位置来移动动作动画。
3.根据权利要求1或2所述的动作动画及其背景动画位置互动的方法,其特征在于,所述步骤2)具体是动作动画调用窗口隐藏函数,在当前位置消失;然后调用窗口移动函数,将动作动画窗口移动到背景动画窗口的位置上;再调用窗口显示函数,显示动作动画窗口。
4.根据权利要求1或2所述的动作动画及其背景动画位置互动的方法,其特征在于,所述步骤1)具体是当动作动画的动作完成后,判断自身的位置是否已经附着在背景动画上。
5.根据权利要求1所述的动作动画及其背景动画位置互动的方法,其特征在于,还包括对所述动作动画和背景动画进行透明化处理。
6.根据权利要求1所述的动作动画及其背景动画位置互动的方法,其特征在于,所述步骤1)的判断具体是根据动作动画窗口和动画背景窗口的位置以及非背景区域来进行的。
7.根据权利要求6所述的动作动画及其背景动画位置互动的方法,其特征在于,所述非背景区域是指动作动画和背景动画未进行透明化处理的区域。
8.根据权利要求1所述的动作动画及其背景动画位置互动的方法,其特征在于,所述动作动画是Flash动画;所述背景动画是Gif动画。
全文摘要
本发明提供一种动作动画及其背景动画位置互动的方法,包括步骤判断动作动画是否附着于背景动画;如果否,则经过预定时间后,移动动作动画,使动作动画恢复最后一次与背景动画的相对附着位置;如果是,则记录二者已经附着;所述背景动画被移动时,相应移动动作动画,保持其附着位置不变。本发明可以提高动画的个性化展现,增强动画的质量。
文档编号G06T13/00GK1873695SQ200510075718
公开日2006年12月6日 申请日期2005年6月2日 优先权日2005年6月2日
发明者杨小虎, 汪海兵, 麦嵩 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1