gpt4 book ai didi

swift - 在 Swift Sprite Kit 中预加载纹理时如何防止白屏?

转载 作者:搜寻专家 更新时间:2023-11-01 07:29:23 24 4
gpt4 key购买 nike

这是我在 GameViewController() 类文件的 viewDidLoad() 中的代码:

skView.presentScene(startScene)

SKTexture.preloadTextures(BGTextures, withCompletionHandler: { () -> Void in
print("SKTextures have loaded.")
})

由于 View 在调用预加载纹理之前更改为 startScene,因此在游戏开始时它会显示白色背景,然后在加载纹理后显示正确的背景,这看起来很糟糕。

因此,我改为只在加载纹理时更改场景,但是,这会使整个应用程序在加载纹理时显示白色背景……这使得预加载纹理毫无意义;我不希望显示白屏(我认为这是在启动画面期间发生的)。

如何防止显示这种白色?

最佳答案

有两种方法可以做到这一点,一种是像这样设置 View (不是场景)的backgroundColor:

self.view.backgroundColor = UIColor(red: 0.5, green: 0.5, blue: 0.5, alpha: 1.0)

您可以在呈现场景之前执行此操作。

另一种方法是将启动画面图像添加到 View 中。基本上,将启动画面放到 Storyboard编辑器中的 View 上,并向其添加约束(编辑器的右下角)以确保它按您希望的方式缩放。这将允许从启动画面无缝过渡到 View 启动画面,再到您的游戏。

我建议在 preload 的完成处理程序中调用 presentScene(),无论您选择哪种方式,以便游戏场景在您加载纹理后出现。

关于swift - 在 Swift Sprite Kit 中预加载纹理时如何防止白屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33644662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com