How to make animated spritekit background?
我想在我的游戏中制作动画空间背景,我尝试在 spritekit"星星节点"上使用节点,但是由于星星的数量,游戏变得迟钝,有没有任何程序或方法可以制作高清动画背景?
- 您目前是否正在单独为每个"明星"制作动画?如果是这样,您是否考虑过将它们组合在另一个 SKNode 下,然后为该单个 SKNode 设置动画?那应该会提高性能。
-
是的,我有一个 func 让它们在屏幕上随机显示,但是我如何将它们合并到一个节点中并为它们设置动画,我希望一些星星的动画淡入,而其他星星的动画淡出
-
你很可能做错了什么。创建一个包含一些星形图案的图集不应该是计算密集型的。确保您确实保留了场景中的纹理,然后创建使用这些缓存纹理的 SKNode 对象。您的另一个选择是提前创建动画并制作使用 SKVideoNode 渲染的 H264 视频。
你只需要一个节点作为后台你知道的。
基本上,您将动画背景的每一帧都创建为图像。您可以将这些图像放入资产目录中的图像图集中。
现在,您可以添加一个覆盖整个场景的sprite节点作为"背景"。您只需将sprite节点的纹理设置为动画的第一帧。
然后,在 didMoveToView 或类似的方法中,
将您的图像图集作为 SKTextureAtlas 对象
使用 textureNamed 获取图集中的每个纹理并将它们中的每一个放入 [SKTexture]
现在你有了数组,你可以做这样的事情:
-
1 2 3
| yourBackgroundSprite.runAction(SKAction.repeatForever(
SKAction.animateWithtextures(theTexturesYouCreatedInStep2, timePerFrame: 30)
)) |
此链接也可能对您有所帮助。
- 背景图像应该使用什么尺寸 - 特别是如果它可以在不同的 iPhone 型号上使用?