0

我已经使用 SpriteKit 一年了,对它非常满意。不管我做什么都是习惯性的,我不一定确定我为什么做一些事情。我的图像都在纹理图集中排序,但似乎有 3 种不同的方式来输出这些精灵。有人可以解释使用objectiveC在SpriteKit中呈现精灵的区别吗?有性能差异吗?其中一种方法是否缓存精灵?或者它甚至有什么不同?

SKSpriteNode *tap = [SKSpriteNode spriteNodeWithImageNamed:@"tap"];

对比

SKTexture *tapTexture = [SKTexture textureWithImageNamed:@"tap"];
SKSpriteNode *tap2 = [SKSpriteNode spriteNodeWithTexture:tapTexture];

对比

SKTexture *tapTexture2 = [[SKTextureAtlas atlasNamed:@"Sprites"] textureNamed:@"tap"];
SKSpriteNode *tap3 = [SKSpriteNode spriteNodeWithTexture:tapTexture2];
4

1 回答 1

0

全部都是一样。如果有任何性能差异,它们可能是微小的。不过,如果您已经拥有纹理,则可以通过使用 withTexture 初始化程序来避免文件/缓存查找成本。

于 2015-01-16T18:42:01.260 回答