我使用SpriteKit在Swift中制作游戏而不使用故事板,一切都是通过快速代码完成的。我的问题是我试图制作两个开关。对于游戏音乐和声音效果,我可以单独将它们静音。唯一的问题是,当开关被添加到视图中时,它们不会位于它们应该在屏幕的下半部分产生的位置,这是代码
我的代码段:
gameMuteSwitch.frame = CGRect(x: frame.midX * 1.6, y: self.frame.midY * 1.1, width: (scene?.size.width)! * 0.4, height: (scene?.size.height)! * 0.1)
fxMuteSwitch.frame = CGRect(x: frame.midX * 1.6, y: self.frame.midY * 1.4, width: (scene?.size.width)! * 0.4, height: (scene?.size.height)! * 0.1)
fxMuteText.fontName = gameFont ; fxMuteText.fontSize = 24 ; fxMuteText.position = CGPoint(x: frame.midX * 0.6, y: fxMuteSwitch.frame.midY)
gameMuteText.fontName = gameFont ; gameMuteText.fontSize = 24 ; gameMuteText.position = CGPoint(x: frame.midX * 0.6, y: gameMuteSwitch.frame.midY)
addChild(gameMuteText) ; addChild(fxMuteText)
self.view?.addSubview(self.fxMuteSwitch)
self.view?.addSubview(self.gameMuteSwitch)
然而,当我打印帧位置时,表明y位置应该是它的位置;在中期的160%。文本产生在正确的位置,但UISwitches
始终在屏幕的下半部分产生,无论我放置什么y值