问题标签 [tiles-game]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
750 浏览

c# - 如何更新位图图像的特定部分?

我回来了,在过去的几周里我一直在顺利取得进展,但这让我在过去三天左右的时间里没有任何突破。

此代码供参考。

这是共享相同名称的三种方法之一。我有一个不接受任何参数并刷新整个地图(图层和所有)的方法,并且此代码有效。

但是,当用户更新地图(通过放置/删除瓷砖)时,我不想重新绘制整个地图。相反,我只想用所做的更改来更新那个特定的空间。而不是更新每一层(通过切换那里绘制的瓦片)等等,所有的方法都是在旧瓦片上放置新瓦片。我添加了 blankTile 位图,认为在绘制更改之前绘制它会纠正问题,但事实并非如此。

我的询问是这样的:有没有办法通过删除那里的内容并用新图像替换它来更新位图上的特定图块?

如果需要,我可以提供更多信息。我想继续使用内置的 GDI 库,但如果解决此问题的唯一方法是切换,我会这样做。但我几乎可以肯定应该有一种方法可以解决这个特定问题,而无需关闭我的图形库。到目前为止,它已经完全满足了这个项目的需求(减去这个特定的错误)。

0 投票
1 回答
153 浏览

c# - 等轴测引擎中的地板绘制方法

我正在为 RTS 游戏开发等距 2D 瓦片引擎。我有两种方法可以绘制地板。一种选择是一张大图像(例如 8000px x 8000px 大约有 10MB),第二种选择是仅在可见区域中逐块绘制图像。

我的问题是什么更好(性能)?

0 投票
1 回答
539 浏览

java - 获取 2D 地图瓦片的直角坐标

我有一个在JPanel. 如何获取每个图块的直角坐标?

0 投票
1 回答
5874 浏览

go - 2048 游戏的正确瓷砖移动

我决定制作一个 2048 命令行版,但我无法获得正确的磁贴移动......

我目前的结构是板是一个二维数组(4x4)的整数。当接收到输入时,它将尝试将每个图块推向该方向(忽略值为 0 的图块),如果它注意到更改,它将重新开始(因为底行的图块必须一直向上,不仅仅是一步)。但是,这样做的副作用是以下问题:
[2][2][4] 使用命令 -> 应该给出 [0][4][4] 但由于它重新开始,程序将能够合并4和4并得到一个[0][0][8] intead ...
另一个难题是[4][4][8][8]应该给出[0][0][8][16 ] 所以我不能在合并后停下来。

下面的代码是我的 processCommand 函数。它需要一个棋盘和一个输入(即“d”、“u”、“l”或“r”。如果游戏注意到游戏结束,它将把“游戏结束”作为输入)。它不是很漂亮,我尝试为移动瓷砖制作一个 for 循环(例如,如果你写“l”,值 horiz 将为 -1,如果你写“r”,它将为 1,然后我移动瓷砖水平点,但我无法做到这一点)。

任何关于如何做到这一点的想法(以及对我的编程的批评)将不胜感激!

}

0 投票
1 回答
194 浏览

andengine - Tiled 中的 TMX 地图与 Andengine 中加载的地图不匹配

我正在 Tiled 中创建自己的 TMX 地图。我已经导入了一些 Patterns Set 并将它们设置在相应的 Tile Layer 中。地图在 Tiled 中看起来不错,但是当我使用 Andengine 在我的关卡中加载它时,每个图块中显示的图像与我在 Tiled 编辑器中使用的图像不同(显示矩阵中的另一个图块,而不是我在编辑)

使用它加载的代码是正常的:

我不知道这是否重要,但瓷砖是 70x70,加载它们时我必须包含 2px 的间距。问题是我从作品中完美地提取了这个例子,但是那里的瓷砖是 32x32 并且没有间距。压缩是gzip,路径是正确的。太感谢了!

0 投票
1 回答
134 浏览

google-maps - 谷歌地图我可以得到瓷砖吗?

我想动态创建一个地图,但在与谷歌地图相同/相似的 UI 中。有没有地方可以买到我可以使用的瓷砖?示例:在此处输入链接描述

0 投票
2 回答
62 浏览

canvas - 如何找到未连接的房间组?

在构建地牢生成器的过程中,您需要解决几个涉及未连接房间的问题,而我找不到最后一个解决方案:

我可以很容易地检测到未连接的房间,但是当涉及到未连接的房间组时,我不知道该怎么做。

这是发生了什么的图片...

在此处输入图像描述 如果您查看右上角,您可能会看到一组未连接的房间,我需要检测所有未连接的房间组并将其连接到其余房间组。


系统

它的工作方式非常简单,有一个包含所有 tile 对象及其属性的数组。要更改内容,我只需要访问数组中的对象。

地牢世代:

  1. 创建所有类型为地板的瓷砖(灰色块)。
  2. 放置不重叠且彼此之间最小距离为 1 格的随机房间。
  3. 在所有房间周围放置墙壁。
  4. 将墙壁放置在距房间墙壁至少 1 块瓷砖的地板上。
  5. 将空块放置在距离墙壁 1 格的墙块上。

地图图例

白色 = 房间积木

灰色 = 地砖 || 走廊街区

黑色块,灰色边框 = 墙块

棕色 || 红色 = 门块

全黑 = 空块

0 投票
1 回答
53 浏览

java - Java,关卡编辑器问题

我遇到了一个快速的问题,我不知道如何自己解决,但我相信在你的帮助下我会理解更多。

我已经为我正在创建的游戏引擎创建了一个关卡编辑器,并且我试图使鼠标位置捕捉到 32x32(网格)或 64x64(网格),以便正确放置图块并且不会相互重叠。

所以它不是这样的:http: //imgur.com/Sa3bh0H 但更像是这样的:http: //imgur.com/a/nck9N 对不起,非常糟糕的解释。

我正在使用的鼠标位置代码是

//加载鼠标所在的纹理/图像的代码

//putImage函数

试图使图像捕捉到 32x32