我第一次在为 iOS 开发平台游戏时遇到了一些滞后。我对开发比较陌生,所以我假设我已经犯了可能减慢游戏速度的错误。
我只是有几个问题让我感到困惑。
我正在构建一个平台游戏,所以有时我会在场景相机视图之外有节点。如果不是,我应该遍历所有节点并将它们从场景中删除吗?这会有助于提高性能,还是 SpriteKit 会自动使用 skcameranode 执行此操作?
我想营造一种开放世界的感觉,所以有些关卡可能很大。我有很多 128x128 的图块,我将它们与 tilemapnodes 一起用于前景。玩家将与之交互的地面、泥土、平台等东西。我还有 5 层视差背景,它们是 512x512 瓦片,每层都有自己的瓦片图节点。我的问题是关于这些巨大的水平。我应该把这些tilemapnodes分成几个部分吗?这会帮助你的表现吗?
最后一个问题,所以 128x128 的图块实际上是 256x256。我只是缩小了tilemapnode。我为前景创建了一个巨大的 tilemapnode,并用这个地图节点制作了地面和地板以及几座小山。当我将播放器移动到节点密集的区域时,它会延迟到 45-55 fps。当远离这个密集区域时,它会回到 60 fps;让我相信 SpriteKit 处理问题 1 的事情。无论如何,与其创建 256x256 的图像并在需要时按比例缩小,不如使用缩放选项创建不同尺寸的单独图像有助于提高性能?(如果重要的话,我对每张图像都使用 1,2,3x 图像)
谢谢你的帮助。