我想在后台创建我的播放器。不知怎的,这不起作用。节点计数器上升一,但不可见。我添加背景后添加播放器,因此它应该在顶部。我用来创建播放器的代码:
var player = SKSpriteNode()
func addPlayer(gameScene: GameScene, xPos: CGFloat, yPos: CGFloat){
player = SKSpriteNode(imageNamed: "player")
player.size = CGSize(width: fieldsWidth, height: fieldsWidth)
player.position = CGPoint(x: xPos, y: yPos)
gameScene.addChild(player)
}
我从另一个类中访问该函数:
person().addPlayer(self, xPos: fieldsWidth/2, yPos: fieldsWidth/2)
希望你能帮助我。
答案 0 :(得分:1)
如果您确定在所需位置添加了节点,这可能就是这里的情况因为节点数递增,您可以设置播放器和背景zPosition来制作播放器在背景之上:
var player = SKSpriteNode()
//1. somewhere in your code set background's zPosition to 1 before you add it to the scene
func addPlayer(gameScene: GameScene, xPos: CGFloat, yPos: CGFloat){
player = SKSpriteNode(imageNamed: "player")
//2. Set player's zPosition to be higher than background's zPosition
player.zPosition = 2
player.size = CGSize(width: fieldsWidth, height: fieldsWidth)
player.position = CGPoint(x: xPos, y: yPos)
gameScene.addChild(player)
}
关于ignoresSiblingOrder ...我建议您将其留给true
,因为它在性能方面可以提供很多帮助。唯一的""关于这种优化,你必须为可能重叠的同一zPosition
的节点明确设置zPosition
,但是你不想让它们以随机顺序重叠(忽略SibersOrder在设置为true),而是按确定的顺序重叠(由您控制)。这是来自docs:
当此属性设置为YES时,节点中的位置 确定渲染顺序时,将忽略树。渲染 同一z位置的节点顺序是任意的,可能会改变 每次渲染新帧时。
所以,只需明确设置zPosition即可。
答案 1 :(得分:0)
在场景的视图控制器中,设置$ cd alleles-fixation/ && python3 setup.py build
。