【技术实现步骤摘要】
本专利技术涉及图像检测的
,特别是涉及一种2D游戏的碰撞检测方法和一种2D游戏的碰撞检测装置。
技术介绍
2D游戏即二维游戏,可以根据用户的需求而进行互动。在2D游戏中,一般存在模拟重力和阻挡物的存在,而在游戏中的业务对象,例如人物、飞机、宠物、道具物品等,受到用户的操作控制,需要实现业务对象在地面上行走、掉落、不可通过地形的阻挡等移动,或者,需要实现诸如射击类游戏中的子弹等道具物品飞行、命中等动作,经常在游戏中发生碰撞。因此,在2D游戏中需要进行碰撞检测,戏检测出游戏中的业务对象是否发生碰撞,防止发生业务对象穿墙而过等与现实不符的情况发生。常见的碰撞检测方法是flash自带的检测方法,动态地检测两个业务对象是否重叠来进行是否发生碰撞的检测。具体地,通过判断两个业务对象(例如人物的显示对象)之间,是否有像素点的重叠,如果有,则判断这两个业务对象发生碰撞,如果没有,则判断这两个业务对象没有发生碰撞。但是,flash自带的检测方法计算量大,计算时间长,尤其是射击类游中需要频繁进行检测,占据了诸如CPU、内存等大量的系统资源。而当2D游戏为网页游戏时,2D游戏的客户端为浏览器,限制于浏览器的性能,flash自带的检测方法会使得游戏运行不畅,更有可能引起浏览器的崩溃,用户体验十分差。因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种2D游戏的碰撞检测机制,在保证准确度的 ...
【技术保护点】
一种2D游戏的碰撞检测方法,其特征在于,所述2D游戏的地图划分成一个或多个指定几何形状的地图格子,所述的方法包括:将待检测的第一业务对象转换为匹配的一个或多个目标格子;所述目标格子与所述地图格子的大小相同;在所述目标格子上选取一个或多个检测点;依据所述检测点和所述地图格子判断所述第一业务对象在移动方向上是否与所述地图格子对应上的第二业务对象发生碰撞。
【技术特征摘要】
1.一种2D游戏的碰撞检测方法,其特征在于,所述2D游戏的地图划
分成一个或多个指定几何形状的地图格子,所述的方法包括:
将待检测的第一业务对象转换为匹配的一个或多个目标格子;所述目标
格子与所述地图格子的大小相同;
在所述目标格子上选取一个或多个检测点;
依据所述检测点和所述地图格子判断所述第一业务对象在移动方向上
是否与所述地图格子对应上的第二业务对象发生碰撞。
2.根据权利要求1所述的方法,其特征在于,所述地图格子包括以下
的至少一种:
阻挡格子、非阻挡格子、斜坡格子;其中,
所述阻挡格子为水平方向和竖直方向为阻挡属性的格子;
所述非阻挡格子为水平方向和竖直方向为通行属性的格子;
所述斜坡给子为水平方向为通行属性、竖直方向为阻挡属性的格子。
3.根据权利要求1或2所述的方法,其特征在于,当所述目标格子为
矩形时,所述检测点包括特征格子四个角对应的像素点之间,在水平方向上
任意一个像素点,在竖直方向上指定的像素点;其中,所述特征格子为所述
目标格子组成的格子。
4.根据权利要求2所述的方法,其特征在于,所述依据所述检测点和
所述地图格子判断所述第一业务对象在移动方向上是否与所述地图格子对
应上的第二业务对象发生碰撞的步骤包括:
当所述第一业务对象的移动方向为水平方向,且当前检测点所处的地图
格子为阻挡格子时,判定所述第一业务对象与所述地图格子对应的第二业务
对象发生碰撞;
和/或,
当所述第一业务对象的移动方向为水平方向,且当前检测点所处的地图
格子为非阻挡格子或斜坡格子时,判定所述第一业务对象与所述地图格子对
应的第二业务对象未发生碰撞;
和/或,
当所述第一业务对象的移动方向为竖直方向,且当前检测点所处的地图
格子为阻挡格子或斜坡格子时,判定所述第一业务对象与所述地图格子对应
的第二业务对象发生碰撞;
和/或,
当所述第一业务对象的移动方向为竖直方向,且当前检测点所处的地图
格子为非阻挡格子时,判定所述第一业务对象与所述地图格子对应的第二业
务对象未发生碰撞。
5.根据权利要求4所述的方法,其特征在于,
在所述判定所述第一业务对象与所述地图格子对应第二业务对象发生
碰撞的步骤之后,所述的方法还包括:
在所述第一业务对象的移动方向上模拟对应的碰撞事件;
和/或,
在所述判定所述第一业务对象与所述地图格子对应第二业务对象未发
生碰撞的步骤之后,所述的方法还包括:
在所述第一业务对象的移动方向上模拟对应的移动事件。
6.根据权利要...
【专利技术属性】
技术研发人员:洪晓健,严攀,云淼,李园,齐祥,
申请(专利权)人:北京畅游天下网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。