1 / 19
文档名称:

2D平面游戏开发指南.pdf

格式:pdf   大小:802KB   页数:19页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2D平面游戏开发指南.pdf

上传人:wxc6688 2022/6/14 文件大小:802 KB

下载得到文件列表

2D平面游戏开发指南.pdf

相关文档

文档介绍

文档介绍:: .

基于区块的 (平滑方式)
碰撞能够通过区块地图测定,但角色仍然能够自由地环游世界(典型的是 1px 解决方案,联成整数,
但参考本文后面的考虑运动平滑化的评注),这是 8-bit 和 16-bit 控制台平面的最普通的实现方式,
并且直到现在仍然流行。由于这种方式仍然易于实现并且使得平面编辑(level editing)比精巧的技
术简单很多。它还允许斜面和光滑的跳动弧线。
如果你想作一款动作游戏,但不确定那种类型的平面是你要实现的,我建议你做这种类型的。他
灵活,相对容易实现,而且提供给你这四种类型最多的控制,无怪乎多数最好的动作游戏都是在这种
类型的基础上实现的。

Mega
Man X, shown with tile boundaries and player hitbox.
例子:
Examples: Super Mario World, Sonic the Hedgehog, Mega Man, Super Metroid, Contra, Metal Slug,
and practically every platformer of the 16-bit era工作机理
地图信息采用和单纯的区块技术同样的存储方式,不同的地方仅在于游戏角色是如何同背景交互的, .
角色的碰撞盒(collision hitbox)现在是沿坐标轴的包围盒(Axis-Aligned Bounding Box)(AABB,
就是说一个不能翻转的矩形),现在仍然是典型的区块大小的整数倍。通常的尺寸包括一个区块宽和一
个(例如 small Mario, morph ball Samus)2 个 (例如 big Mario, Mega Man, crouched Samus) 或 3
个 (例如 standing Samus) 区块高。很多情况下,角色精灵本身比逻辑的碰撞盒大一些。这样做是为
了一个更好的视觉体验和更公平的玩法(对玩家来说,在他应该碰上的时候避免碰上要比不该碰上的
时候碰上更好些),在上图中,你可以看到往 X 方向的精灵是正方形的(事实上,是两个区块宽),
但他的碰撞盒却是一个矩形(一个区块宽)
假设没有斜坡并且是单向的平面,算法是简单易懂的:
X 和 Y 象限,一个时间内前进一步,我通常从 Y 起步,但你也可以从最大的 delta
起步(step biggest-delta first),然后,对每个象限:
,例如:如果向左走,是包围盒的左侧的 x 坐标,如果向右走,是
右侧的 x 坐标,如果向上走,是相应的上边的 y 左边,以此类推。
--这将在对立的坐标轴上给你一个最小值和最大值。例
如如果我们向左走,玩家可能会在水平线方向队列的 32,33,34(也就是,符合 y=32*ts,y=33*ts
和 y=34*ts 的区块, 这里 ts=区块的大小)。
,直到你发现最近的静态障碍,接着,循环每一个运
动着的障碍,测算哪一个是在你实际路线上最接近的障碍。
,玩家的总的运动就是目标和最近的障碍之间的最小值,这个量就是你在第一个地
点需要运动的。
6. 移动玩家到新地点,如果仍然没有完成的话,通过这个新的位置,开始另一个坐标。

斜面Mega