一种2D游戏的碰撞检测方法和装置制造方法及图纸

技术编号:12162497 阅读:89 留言:0更新日期:2015-10-06 11:38
本发明专利技术实施例提供了一种2D游戏的碰撞检测方法和装置,所述2D游戏的地图划分成一个或多个指定几何形状的地图格子,所述的方法包括:将待检测的第一业务对象转换为匹配的一个或多个目标格子;所述目标格子与所述地图格子的大小相同;在所述目标格子上选取一个或多个检测点;依据所述检测点和所述地图格子判断所述第一业务对象在移动方向上是否与所述地图格子对应上的第二业务对象发生碰撞。本发明专利技术实施例地图与第一业务对象的化简减少了进行碰撞检测的检测点,进而减少计算量,在保证碰撞检测准确度的同时,大大降低了系统资源的消耗,提高了游戏的运行效率,提高了用户体验。

【技术实现步骤摘要】

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

【技术保护点】
一种2D游戏的碰撞检测方法,其特征在于,所述2D游戏的地图划分成一个或多个指定几何形状的地图格子,所述的方法包括:将待检测的第一业务对象转换为匹配的一个或多个目标格子;所述目标格子与所述地图格子的大小相同;在所述目标格子上选取一个或多个检测点;依据所述检测点和所述地图格子判断所述第一业务对象在移动方向上是否与所述地图格子对应上的第二业务对象发生碰撞。

【技术特征摘要】
1.一种2D游戏的碰撞检测方法,其特征在于,所述2D游戏的地图划
分成一个或多个指定几何形状的地图格子,所述的方法包括:
将待检测的第一业务对象转换为匹配的一个或多个目标格子;所述目标
格子与所述地图格子的大小相同;
在所述目标格子上选取一个或多个检测点;
依据所述检测点和所述地图格子判断所述第一业务对象在移动方向上
是否与所述地图格子对应上的第二业务对象发生碰撞。
2.根据权利要求1所述的方法,其特征在于,所述地图格子包括以下
的至少一种:
阻挡格子、非阻挡格子、斜坡格子;其中,
所述阻挡格子为水平方向和竖直方向为阻挡属性的格子;
所述非阻挡格子为水平方向和竖直方向为通行属性的格子;
所述斜坡给子为水平方向为通行属性、竖直方向为阻挡属性的格子。
3.根据权利要求1或2所述的方法,其特征在于,当所述目标格子为
矩形时,所述检测点包括特征格子四个角对应的像素点之间,在水平方向上
任意一个像素点,在竖直方向上指定的像素点;其中,所述特征格子为所述
目标格子组成的格子。
4.根据权利要求2所述的方法,其特征在于,所述依据所述检测点和
所述地图格子判断所述第一业务对象在移动方向上是否与所述地图格子对
应上的第二业务对象发生碰撞的步骤包括:
当所述第一业务对象的移动方向为水平方向,且当前检测点所处的地图
格子为阻挡格子时,判定所述第一业务对象与所述地图格子对应的第二业务
对象发生碰撞;
和/或,
当所述第一业务对象的移动方向为水平方向,且当前检测点所处的地图
格子为非阻挡格子或斜坡格子时,判定所述第一业务对象与所述地图格子对
应的第二业务对象未发生碰撞;
和/或,
当所述第一业务对象的移动方向为竖直方向,且当前检测点所处的地图
格子为阻挡格子或斜坡格子时,判定所述第一业务对象与所述地图格子对应
的第二业务对象发生碰撞;
和/或,
当所述第一业务对象的移动方向为竖直方向,且当前检测点所处的地图
格子为非阻挡格子时,判定所述第一业务对象与所述地图格子对应的第二业
务对象未发生碰撞。
5.根据权利要求4所述的方法,其特征在于,
在所述判定所述第一业务对象与所述地图格子对应第二业务对象发生
碰撞的步骤之后,所述的方法还包括:
在所述第一业务对象的移动方向上模拟对应的碰撞事件;
和/或,
在所述判定所述第一业务对象与所述地图格子对应第二业务对象未发
生碰撞的步骤之后,所述的方法还包括:
在所述第一业务对象的移动方向上模拟对应的移动事件。
6.根据权利要...

【专利技术属性】
技术研发人员:洪晓健严攀云淼李园齐祥
申请(专利权)人:北京畅游天下网络技术有限公司
类型:发明
国别省市:北京;11

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

1
相关领域技术