0

我将在我的 2d iOS 平台游戏中使用 sktilemapnodes。什么更好或更有效?

使用作为整个关卡的单一大小的 sktilemapnode 或将区域分成多个 sktilemap 节点。

示例:我有 3 层背景,将用于视差背景效果。

第一层(最靠后)只是一个渐变的天空。我将它分解为 512x512 像素的图块。我只有 8 个不同的瓷砖可以用作 1x8 瓷砖网格。然后我可以向左/向右或向上/向下继续这种模式,以使天空尽可能大。

问题:我的问题是我是否应该为整个天空使用 1 个瓦片地图节点,或者是否应该将其分解为可重复的更小块(如 1x8 网格)。如果我把它分成更小的块,我不需要它那么大,并且当我的游戏中相机移动时,我可以移动这些块。

我想知道这是否会以这种方式消耗更少的资源。

第二层是丘陵。我有大约 8 个不同的瓷砖,每个瓷砖都是 128x64 像素。我可以根据自己的喜好将它们排列成可重复的模式。所以我可以再一次拥有一个 tilemapnode,它是我可以重复的图案大小,我可以创建多个节点,或者我可以在 1 个节点中创建整个地图。

第 3 层略有不同,因为它基本上是包含 27 个 512x512 像素图块的树木图案图像。9x3 网格。但同样,我可以使用 1 个节点或多个节点。

我只关心效率。什么会为我带来最大的收益,这样我就可以有空间处理其他游戏对象。这只是你知道的背景......

使用 Tilemapnode,我不确定是否每个周期都没有处理不可见的图块,或者我是否需要手动进行某种检查。我想选择在某些级别上拥有大量地图。我是使用 sktilemapnodes 的新手,所以我试图弄清楚如何以最有效的方式使用它们。

4

1 回答 1

2

每个 SKTileMapNode 都是一个节点。Apple 在确保多个地图节点不会使用太多资源方面做得很好。这就是为什么地图只有一个节点,而不是地图中的每个图块都有一个节点。通常的做法是将多个 SKTileMapNode(s) 分层以创建视差效果或简单地创建图层。

例如,一个以山脉为背景、背后有云的平台游戏将使用一个 SKTileMapNode 表示山脉,一个单独的节点表示云。这提供了能够在瓷砖中使用透明度的额外好处。

于 2017-05-02T18:02:39.903 回答