我在swift中创建一个简单的俄罗斯方块游戏,一起试用sprite kit / swift。我使用SKShapeNodes创建俄罗斯方块,以创建所有形状和游戏板。不幸的是,这导致iPhone的CPU在整个游戏时间内以100%的速度运行。在苹果文档中,它表示SKShapeNode效率不高,并且尽可能使用SKSpriteNode。我的游戏根据屏幕大小进行缩放,因此我想创建一个SKShapeNode,然后将其转换为SKSpriteNode。我在网上找到了一个使用纹理实现的例子,但它似乎是一个丑陋的解决方案。有没有简单/标准的方法将SKShapeNode转换为SKSpriteNode以避免最大化CPU?
感谢您的帮助!
答案 0 :(得分:3)
最佳解决方案是在图形编辑器(如Photoshop或Illustrator)中设计所有资源(针对各种屏幕尺寸),然后使用这些资源创建SKSpriteNodes
。
但如果由于某种原因您真的想使用SKSpriteNodes
创建SKShapeNodes
,那么唯一的方法就是在textureFromNode
上使用SKView
方法。