使用平铺地图文件时处理不同的屏幕显示(tmx)

时间:2015-10-09 19:28:38

标签: sprite-kit swift2 xcode7

我正在尝试学习spritekit,我有些困惑。我知道我需要拥有@ 2图像文件,这些文件需要是标准文件的两倍,并且一旦我正确地命名它们,xcode将处理剩下的部分。但是,在处理平铺时,我是否需要平铺文件,即level1.tmx和level1@2.tmx

所以这就是我今天做的测试:

  1. 创建了两个tileheet,一个是32x32,另一个是64x64(2x)。
  2. 在平铺中创建两个级别,一个是64x64平铺大小,级别大小是2048x1536(2x一个)。我在那个上使用了64x64的瓷砖。我创建的另一个级别完全相同,但我使用32x32平铺大小创建它,这使得级别大小为1024x768,并且我使用了32x32的tileheet。
  3. 所以现在我在ipad上有两个tmx文件和两个spritesheets,一个级别。

    我这样做是否正确?一旦我开始使用iphone,我将为每个级别提供4组或者6组?

    如果我将它们命名为level1@2x.tmx,我认为xcode与tmx文件的工作方式不同,对吧?如果没有,并假设我上面所做的一切都是正确的,如何加载正确的tmx文件?我是否需要检查设备类型,然后根据每个级别的分辨率和加载我的地​​图文件?

    我想也许我没有做到这一点,所以我想在此之前先停下来询问。

1 个答案:

答案 0 :(得分:2)

在iOS中没有自动加载TMX文件,所以我猜你要么使用我所知道的两个最受欢迎的SKAToolKitJSTileMap之一。我自己和其他Sprite Kit联盟成员将SKAToolKit放在一起,所以我想我可以从这个角度回答你的问题,因为它也应该与JSTileMap类似。

简短的回答是使用1x资产构建您的地图,但在Xcode中提供标准和视网膜的图像。

首先,您使用1x资产创建地图。加载地图时,它使用的是点而不是像素。因此,例如,如果您制作32x32像素图块地图,则将其视为32x32点图。创建精灵时,它会根据设备提取正确的图像。如果图像名为tree.png且为32x32,则会占用32x32(点)图块的空间。如果您有一个名为tree@2x.png 64x64的图像,iOS将用于视网膜设备。因为它是一个@ 2x图像,它将占用32x32(点),但将是64x64像素。

希望这有点道理。如果不让我知道。