在 SpriteKit 中呈现图像的最佳方式

Posted

技术标签:

【中文标题】在 SpriteKit 中呈现图像的最佳方式【英文标题】:best way to present images in SpriteKit 【发布时间】:2015-01-16 18:17:49 【问题描述】:

我已经使用 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];

【问题讨论】:

【参考方案1】:

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

【讨论】:

感谢 Steffen 的回复,我知道重用 SKTextures,但很高兴知道无论我选择哪个选项都不会降低性能。

以上是关于在 SpriteKit 中呈现图像的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

SpriteKit - 组织保存的游戏数据的最佳方式是啥?

缩放 SpriteKit 游戏

SpriteKit Swift 保存关卡数据的最佳方式

以 1px 宽度呈现网页的最佳方式

如何在 SpriteKit 中呈现场景后立即接收触摸事件?

SpriteKit:场景完成呈现时回调?