我在 OS X 版本的 Sprite Kit 上测试一个游戏,发现一些纹理错误地报告了它们的大小。我想知道是否有其他人看到这个问题以及是否有解释?
只是为了在我将此报告为错误之前排除任何其他问题。如果这是一个已知的错误,请说出来。
我正在加载这个纹理,它的大小是 256x256 像素:
当我记录从此图像创建的 SKTexture 时,SKTexture 描述给了我正确的大小,但size
属性没有,它说图像是 204.8 x 204.8。
tex = <SKTexture> 'Tileset_GeometryB.png' (256 x 256)
tex.size = {204.80000000000001, 204.80000000000001} // Huh? WTF?!?
tex.textureRect = {{0, 0}, {1, 1}}
我在 iOS 模拟器和设备上使用相同的代码加载完全相同的纹理 - 大小属性始终正确:256x256。
我还尝试在其他任何操作之前加载此纹理,以避免任何可能的副作用。纹理大小仍然是错误的。
值得注意的是,并非所有纹理都会发生这种情况,但我加载的所有 256x256 纹理都会发生这种情况。128x256 纹理正确报告其大小。
我还做了一个干净的构建,我正在使用 Xcode 5.0.1 (5A2053) 在 Mavericks (13A603) 上进行测试。