游戏开发中的技术统计

2D游戏中障碍物判定

TileMap

TileMap:地图是网格形的,下图中的每一个网格可以称Tile(翻译是瓷片或瓦片),每一块存储着是否是障碍物的信息,用什么图片表示的信息,脚步路过声音的信息,以及其他。游戏者和其他角色用其他一套切图表示。游戏者和其他角色用其他一套切图表示。在Lode Runner这款游戏中,游戏者是1X1tile的。在游戏Toki Tori中,游戏者是2X2的tile。在Flashback中,由于背景用了不常见的小tile,游戏者变成了2个tile宽,站立的时候5个tile高,匍伏的时候3个tile高。在这种类型的游戏中,游戏者很少会对角线移动。你要做的只是检查用户tile和背景的tile对齐并且适合赋予的动作。这个系统是不允许小于一个tile的动作的,不过可以通过不同的方法来解决。
算法如下:
1.提前拷贝角色到他想移动到的地方(比如,向右移动时,每次拷贝一个到 右边一格)。
2.检查这个拷贝与背景是否有碰撞
3.如果发现碰撞,运动停止。作出反应!
4.否则,可以通过。把角色移动到此处。可以加入动画!

平滑TileMap

角色可以在世界地图里面自由移动,同时也循序于斜坡和平滑跳跃的动作。
图片背景的信息是和纯TileMap方法是一样的,不同的仅仅是玩家和背景的互动方法。玩家碰撞单位是轴对齐的盒子(AABB, 无法旋转的矩形),通常会等于整数倍的tile大小。角色的贴图是大于逻辑上碰撞单位的,这是为了更友好的视觉效果和游戏体验,下图中角色贴图是2个tile宽,实际上碰撞盒子只有一个tile宽。

BitMask

不是用比较大的tile,使用一个图片做背景,然后通过每个像素的检查来识别碰撞。这种更细致的处理,却让复杂度
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值