[发明专利]一种节省内存的纸娃娃系统有效
申请号: | 201010579277.6 | 申请日: | 2010-12-08 |
公开(公告)号: | CN102722411A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 王伟兵;杨国梁 | 申请(专利权)人: | 山东浪潮齐鲁软件产业股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F19/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节省 内存 娃娃 系统 | ||
技术领域
本发明属于计算机应用技术领域,涉及Flash虚拟游戏世界中纸娃娃系统的实现。
背景技术
纸娃娃系统换装的常用实现方法之一是将一个角色肢体运动动画分成五个部分:身体、头发、上衣、下衣、鞋子。这样就将身体和服饰等分离,在换装后保存时合成人体运动的动作帧。
纸娃娃系统传统实现是将描绘纸娃娃的身体、衣服、饰品等图片资源按动画帧放入内存,然后合成动作动画帧。由于图片的大部分区域是透明的,这样就会将大量的垃圾数据放进内存。
纸娃娃系统是Flash游戏中非常重要的内容。在虚拟世界中,玩家是由一种叫纸娃娃的角色代表着,纸娃娃常常包含动作和换装等。纸娃娃系统占用内存过大常常成为Flash游戏的一种瓶颈,限制了Flash游戏同时在线玩家数量。
发明内容
本发明的目的是提供一种节省内存的纸娃娃系统。
本发明的目的是按以下方式实现的,通过一个预处理程序,得到纸娃娃系统中的图片资源有效显示区范围的数据,纸娃娃系统分配内存时,只将预处理程序得到的数据有效显示区加载到内存中,数据有效显示区之外的图片透明部分不占用内存,以此节省系统的大量内存;具体步骤如下:
1)通过预处理程序存储动作图片信息:
通过一个预处理程序,得到衣服每帧动画非透明色显示区矩形范围,然后将图矩形的起始点坐标与宽高的信息存入一个与图片同名的xml格式的文件中;
2)加载xml数据与图片资源:
当玩家用到图片资源时将其加载,并把同名的xml文件加载;
3)按照xml中的存储的数据信息在内存中建立被引用着的肢体动作库和衣服款式库,当对纸娃娃系统图片资源的引用时,在内存中建立一个数组,按照xml中的存储的数据信息将图片中的有效显示区的Bitmapdata放入数组;衣服的和身体的图片资源文件是一些组合前的基本资源,这些图片资源文件一但被引用着,就已经在内存中存在,新的玩家不用为其新资源分配内存,只需要引用已经存在的那部分内存,渲染时将其按xml中的坐标显示,因为预处理程序获取了有效显示区的信息,所以不用为透明区域分配内存,因而大量的节省了内存资源。
本发明的实现方法所具有的有益效果如下:
大量降低了纸娃娃系统实现所占用的内存,增加了同一场景中同时在线玩家的承载数量,从而使Flash游戏变的更加成熟和容易推广。
具体实施方式
参照说明书附图对本发明的节省大量内存的纸娃娃系统实现方案作以下详细地说明。
1)通过预处理程序存储动作图片信息:
通过一个预处理程序,得到衣服每帧动画非透明色显示区矩形范围,然后将图矩形的起始点坐标与宽高的信息存入一个与图片同名的xml格式的文件中。
2)加载xml数据与图片资源:
当玩家用到图片资源时将其加载,并把同名的xml文件加载。
3)按照xml中的存储的数据信息在内存中建立被引用着的肢体动作库和衣服款式库:
当对纸娃娃系统图片资源的引用时,在内存中建立一个数组,按照xml中的存储的数据信息将图片中的有效显示区,而不是整帧,整帧的区域的Bitmapdata放入数组。因为衣服的和身体动作的图片资源文件是一些组合前的基本资源,而不是组合后的资源。也就是说,别人也可能穿着与你某一部分相同的衣服。比如说鞋子、裤子等。因为这些图片资源一但被引用着,就已经在内存中存在,新的玩家就可以不用为其新资源分配内存。只需要引用已经存在的那部分内存。渲染时将其按xml中的坐标显示就可以了。因为预处理程序获取了有效显示区的信息,所以不用为透明区域分配内存,从而大量的节省了内存资源。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮齐鲁软件产业股份有限公司,未经山东浪潮齐鲁软件产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010579277.6/2.html,转载请声明来源钻瓜专利网。