我似乎在我正在开发的游戏中遇到了一个特别奇怪的问题。该游戏包含三种游戏类型,每种类型都使用SKView作为游戏的显示。前两种游戏类型(称为普通游戏和国际象棋)可以正确更改代码中的背景颜色,如下所示:
// Create and configure the scene.
M2ChessScene *scene = [M2ChessScene sceneWithSize:yourGameView.bounds.size];
scene.scaleMode = SKSceneScaleModeFill;
[scene setBackgroundColor:[UIColor clearColor]];
// Present the scene.
[yourGameView presentScene:scene];
[self updateScore:0];
_scene = scene;
_scene.delegate = self;
_scene.isPrimaryView = YES;
这将创建场景并将背景设置为clearColor,并且它可以工作。然而,在我的第三种游戏类型(有两个场景 View )中,相同的代码(重复两次,每个场景一次)不起作用,我最终得到了黑色背景而不是清晰的背景。我究竟做错了什么?我看不出相同的代码如何不能在一个实例中工作,而在另一个几乎相同的类中不能工作(事实上,此类的代码是从国际象棋类中复制的,并在第二个 View 中重复(使用变量名编辑)) .
任何帮助将不胜感激。
最佳答案
在 iOS 上,您一次只能拥有一个个事件 SKView。虽然技术上没有错误,但两个 View 之一不会或很少渲染其内容并更新其节点和物理。
如果您需要分屏显示,则必须使用单个 SKView 和 SKScene 来实现它。
关于ios - SKView/SKScene 不会改变背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498321/