当游戏改变等级时,我有一个加载新背景的方法,并且还改变了SKScene的几个全局属性,即敌人速度等。 问题是当我在一个新级别重绘背景时,它覆盖了所有其他节点(在initWithSize中创建)。是否有工作或更好的方法重绘背景?
答案 0 :(得分:1)
如果我理解你所说的你有一个级别,它有一个后台节点和在该级别期间显示的其他节点。当你改变等级时,你添加一个新的背景,可能是SKScene的孩子,对吗?
如果是这种情况,那就是为什么它涵盖了一切。通过稍后将其添加到节点树上,它最后被绘制,因此涵盖了所有内容。
有几种方法可以解决这个问题:
- 每个关卡都有不同的场景。这样每个场景都是自包含的,不会干扰其他场景的内容。
-removeAllChildren在SKScene上,然后添加您的背景以及新级别所需的任何其他内容。
- 如果你真的想要,你可以用更新的背景替换原始背景的纹理。但是如果你这样做,你仍然可能需要清理旧节点。
拥有不同的场景可能是更好的选择。