我有一个问题,即我的 SKView 的背景颜色(灰色)在呈现场景之前会短暂显示。
我通过 Storyboard 编辑器和我的控制器 ( ) 手动尝试设置它,self.skView.backgroundColor = [SKColor blueColor]
但它仍然是灰色的。这不是可以覆盖的属性吗?
更新#1
以下是关于发生的事情的一些解释:
viewDidLoad
被调用并skView
以灰色背景显示在屏幕上(skView.scene
尚未设置)。- 我加载了游戏的所有资源(大约需要 1 秒),此时灰色背景可见。
- 加载资产后,我加载场景并呈现它(灰屏被替换为场景的内容)
视图控制器
- (void)viewDidLoad
{
[self.activityIndicator startAnimating];
[self authenticatePlayer];
self.skView.backgroundColor = [SKColor blueColor];
// During this time the grey screen is visible as the assets are being loaded and take ~1 second
// self.skView.scene is NULL here so I cannot set the backgroundColor...
[GamePlayScene loadSceneAssetsWithCompletionHandler:^{
[self.activityIndicator stopAnimating];
self.activityIndicator.hidden = YES;
CGSize viewSize = self.skView.bounds.size;
self.gamePlayScene = [[GamePlayScene alloc] initWithSize:viewSize];
self.adView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[self.skView presentScene:self.gamePlayScene];
}];
...