我一直在使用SpriteKit已经有一年了,我对它很满意。然而,我做的很多事情都是习惯性的,而且我不一定确定为什么要做一些事情。我的图像都在纹理图集中排序,但似乎有3种不同的方式输出这些精灵。有人可以解释使用objectiveC在SpriteKit中呈现精灵的差异。有性能差异吗?其中一个方法是否缓存精灵?或者甚至有什么不同?
SKSpriteNode *tap = [SKSpriteNode spriteNodeWithImageNamed:@"tap"];
VS
SKTexture *tapTexture = [SKTexture textureWithImageNamed:@"tap"];
SKSpriteNode *tap2 = [SKSpriteNode spriteNodeWithTexture:tapTexture];
VS
SKTexture *tapTexture2 = [[SKTextureAtlas atlasNamed:@"Sprites"] textureNamed:@"tap"];
SKSpriteNode *tap3 = [SKSpriteNode spriteNodeWithTexture:tapTexture2];
答案 0 :(得分:0)
一切都是一样的。如果存在任何性能差异,则可能很小。但是,如果您已经有纹理,则可以使用withTexture初始值设定器来避免文件/缓存查找成本。