1个大型sktilemapnode或更小的sktilemapnode

时间:2017-04-29 22:32:54

标签: swift sprite-kit sktilemapnode

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

使用单个大小的sktilemapnode,它是整个级别或将区域分成多个sktilemap节点。

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

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

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

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

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

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

我只关心效率。什么会给我最大的帮助,以便我有空间处理其他游戏对象。这只是你知道的背景......

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

1 个答案:

答案 0 :(得分:1)

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

例如,在背景中有山脉和背后的云的平台游戏将使用单个SKTileMapNode用于山脉,单个用于云。这提供了能够在瓷砖中使用透明度的额外好处。

相关问题