我正在开发一个ios应用程序。我在屏幕上有一个SKSpriteNode,我从用户那里得到了一个我存储为SKTexture的图形。我想把这两者结合起来,作为一个新的SKSpriteNode介绍给大家。
问题是:我找不到关于如何将SKSpriteNode合并到SKTexture的文档。我肯定有办法。有人会有这方面的示例代码吗?
最佳答案
您可能需要使用CoreGraphics来完成这项工作。使用SKTextures
方法将两个CGImage
转换为SKTexture.cgImage()
,使用CoreGraphics合并它们,然后从结果创建新纹理。SKTexture.init(cgImage:)
方法允许使用CGImage对象构造纹理。
我很少使用核心图形,但这里有一些相关阅读的链接。我想您应该使用CGLayer
类来告诉CoreGraphics如何堆叠纹理,并随着时间的推移重用sprite纹理,以便CoreGraphics可以缓存它以加快速度。
核心图形使用石英二维做快速二维图形操作。我没怎么玩过,但我想应该是你想要的。
参考文献:
SKTexture相关:
cgImage() Method
init(cgImage:) Method
核心图形相关:
Core Graphics framework
CGLayer class
额外参考:
A series of tutorials on CG, part 2 is about offscreen rendering
随时通知我,我觉得很有趣!
编辑1:
您还必须在精灵上使用SKMutableTexture
。该类允许动态更改纹理数据。
关于ios - 如何在Swift 3中将SKSpriteNode合并为SKTexture以形成新的SKSpriteNode?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43414334/