什么是平铺地图以及如何声明

素拉

我最近在搜索游戏程序,并传递了一个名为Tiled Map的定义,我在寻找它,并试图了解它的声明方式以及如何使用它来查找碰撞,但是没有成功,任何人都可以给我一个清楚的解释是一张平铺的地图,它已声明,如何在此地图中检测到碰撞,这是我阅读的网站:

http://rodrigo-silveira.com/html5-2d-game-programming-tutorial-gwt/#.Uf9Ivm22shC

var mapBluePrint = [
  [0, 0, 0, 0, 0, 0],
  [0, 8, 8, 8, 8, 0],
  [0, 0, 0, 0, 0, 0]
  ];
史蒂文·兰伯特

Wikipedia将图块地图(也称为图块集)定义为:

图块集(有时称为子画面图)是称为图块(通常大小一致)的较小图像的集合,这些图像已合并为一个较大的图像。图块集通常用于2D视频游戏中,以根据集合内的可重复使用图块创建复杂的地图。显示基于图块集的地图时,存储在其中的图块用于重新组合地图以显示。

通过将游戏划分为正方形网格来创建图块地图。然后,每个单元格都可以填充由较小且均匀的图像(例如文章中提供的Mario图像)组成的图像中的“图块”。然后,使用2D数组(有时是单个数组)来存储数字列表,每个数字都对应于图像中的特定图块。使用数组非常有用,因为它可以跟踪单元格的行和列。在您的示例中,数字0通常对应于一个空的图块(主要是因为它使检查冲突更容易),而数字8则对应于较大图像的某些部分,可能是云或砖块。

在制作基于图块的游戏时,通常会创建一个或多个数组来保存地图的图块信息,并创建另一个数组来保存有关发生碰撞的位置的信息。检查冲突时,只需检查数字是否存在,即可检查用户要输入的单元格是否为空。如:

function checkCollision(userRow, userCol) {
   if (collisionMap[userRow][userCol]) {
      // cell is not empty, handle collision
   }
   else {
      // cell is empty, carry on
   }
}

您可以从我写的这篇文章中阅读有关磁贴地图的另一种资源

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

平铺地图中的GID

来自分类Dev

使Libgdx平铺地图变暗

来自分类Dev

平铺地图中的GID

来自分类Dev

在画布中绘制平铺地图

来自分类Dev

用Java创建平铺地图

来自分类Dev

数组中Java的平铺地图

来自分类Dev

平铺地图未加载某些图像

来自分类Dev

在平铺地图周围创建边界

来自分类Dev

AndEngine动态更改TMX平铺地图

来自分类Dev

Pygame中的非平铺地图

来自分类Dev

Libgdx 平铺地图不透明

来自分类Dev

为什么我的带有平铺地图的pygame游戏落后?

来自分类Dev

如何在Love2d中使用导出为Lua的平铺地图/瓷砖

来自分类Dev

如何使用Tiled和pytmx在Pygame中显示平铺地图?

来自分类Dev

如何在pygame中添加多个平铺地图级别?

来自分类Dev

如何正确解析文本文件中的平铺地图?

来自分类Dev

如何在pygame中创建二维滚动平铺地图?

来自分类Dev

如何使用Tiled和pytmx在Pygame中显示平铺地图?

来自分类Dev

在Sprite Kit中加载.tmx(平铺地图)吗?

来自分类Dev

使用SDL2渲染平铺地图的最快方法

来自分类Dev

为迷宫创建平铺地图n * n

来自分类Dev

在Sprite Kit中加载.tmx(平铺地图)吗?

来自分类Dev

LIBGDX平铺地图不使用透明度

来自分类Dev

使用 Libgdx 在 Eclipse 上导出平铺地图

来自分类Dev

我的平铺地图未在 libgdx 中呈现

来自分类Dev

平铺地图对象未显示(无错误)

来自分类Dev

在游戏中旋转整个平铺地图 - LibGDX

来自分类Dev

平铺地图未在 HTML5 中呈现

来自分类Dev

无限滚动带有平铺地图的画布,而无需重新绘制