首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

关于2D简单碰撞检测的有关问题

2013-07-09 
关于2D简单碰撞检测的问题。是这样的:我要做一个类似塔防的游戏。当一个怪物进入塔的射程范围时,塔就要射击。

关于2D简单碰撞检测的问题。
是这样的:

   我要做一个类似塔防的游戏。
   当一个怪物进入塔的射程范围时,塔就要射击。
   但是,我如何知道某个怪物是否进入了某个塔的射程之内?当然,我可以用所有的塔与所有的怪物进行坐标比较,但我认为这是非常傻的方法。

   我认为,可能也许我应该用到BSP、4叉树等,但是,如果用BSP,4叉树等,当怪物移动时,我需要实时重建BSP/四叉树么?因为怪物一直在移动,它的坐标变了,场景变了...

   请大神赐教!! 塔防?碰撞检测?射程
[解决办法]
场景可看作M * N个格子,简单点就是当在射程内那么两格子XY的差就会小于某个数。
[解决办法]
这个是场景组织方式的话题
  bsp还是四叉树都是场景的组织方式, 这个组织方式一般情况下是对应的静态场景, 把动态的物体单独管理,这样的话,你的bsp或者四叉树是不需要重建的

对于塔防这种模式来说,每个塔的攻击范围都是不一样的,而且还是变化的(可升级)
但是好在塔的数量,不会太多, 而且简单的位置判断也根本就花费不了多大的时间,因此怎么处理都是可行的

如果你能够把场景网格化, 更快速的办法就是牺牲空间换速度, 建立一个表格,每个点代表场景的一个节点,每个表格项目上记录哪一个塔可以覆盖它,只有当建立新塔或者省级了塔或者销毁了塔的时候才会更新这个表格,目标走到这个节点上,查询表格就知道那些塔可以对它有效了

热点排行