我正在尝试学习spritekit,我有些困惑。我知道我需要拥有@ 2图像文件,这些文件需要是标准文件的两倍,并且一旦我正确地命名它们,xcode将处理剩下的部分。但是,在处理平铺时,我是否需要平铺文件,即level1.tmx和level1@2.tmx
所以这就是我今天做的测试:
所以现在我在ipad上有两个tmx文件和两个spritesheets,一个级别。
我这样做是否正确?一旦我开始使用iphone,我将为每个级别提供4组或者6组?
如果我将它们命名为level1@2x.tmx,我认为xcode与tmx文件的工作方式不同,对吧?如果没有,并假设我上面所做的一切都是正确的,如何加载正确的tmx文件?我是否需要检查设备类型,然后根据每个级别的分辨率和加载我的地图文件?
我想也许我没有做到这一点,所以我想在此之前先停下来询问。
答案 0 :(得分:2)
在iOS中没有自动加载TMX文件,所以我猜你要么使用我所知道的两个最受欢迎的SKAToolKit或JSTileMap之一。我自己和其他Sprite Kit联盟成员将SKAToolKit放在一起,所以我想我可以从这个角度回答你的问题,因为它也应该与JSTileMap类似。
简短的回答是使用1x资产构建您的地图,但在Xcode中提供标准和视网膜的图像。
首先,您使用1x资产创建地图。加载地图时,它使用的是点而不是像素。因此,例如,如果您制作32x32像素图块地图,则将其视为32x32点图。创建精灵时,它会根据设备提取正确的图像。如果图像名为tree.png且为32x32,则会占用32x32(点)图块的空间。如果您有一个名为tree@2x.png 64x64的图像,iOS将用于视网膜设备。因为它是一个@ 2x图像,它将占用32x32(点),但将是64x64像素。
希望这有点道理。如果不让我知道。