SKView / SKScene不会改变背景颜色

时间:2014-06-30 20:20:42

标签: ios objective-c xcode uiview sprite-kit

在我正在开发的游戏中,我似乎遇到了一个特别奇怪的问题。这个游戏包含三种游戏类型,每种类型都使用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,并且它可以正常工作。但是,在我的第三种游戏类型(有两个场景视图)中,相同的代码(重复两次,每个场景一次)不起作用,我最终得到的是黑色背景而不是清晰背景。我究竟做错了什么?我不知道相同的代码在一个实例中是如何工作的,而在几乎相同的类中不能在另一个实例中工作(事实上,这个类的代码是从国际象棋类中复制而是在第二个视图中重复(使用变量名称编辑) ))。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

在iOS上,您一次只能拥有一个活动SKView。虽然技术上没有错误地工作,但是两个视图中的一个不会或很少很少呈现其内容并更新其节点和物理。

如果您需要分屏显示,则必须使用单个SKView和SKScene来实现它。

答案 1 :(得分:0)

原来我试图将其设置为透明,这在iOS 7中是不允许的,因此默认为黑色。