【发布时间】:2023-04-02 06:09:01
【问题描述】:
但是控制器是在 Main.storyboard 中设置的,我想摆脱它。所以我做了这样的事情:
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = GameViewController()
在 appDelegate 和这个:
override func loadView() {
super.loadView()
self.view = SKView()
}
在 GameViewController 中加载它。第一次加载场景,但只有绿色背景,没有其他节点。 (节点计数器显示正确的节点数。)
所以我尝试将ignoresSiblingOrder 设置为true 和false,scene.scaleMode 的所有选项和我取得的最佳结果是scene.scaleMode = .resizeFill。看起来像这样:
编辑: 圈子的位置:
greenOne.position = CGPoint(x: greenOne.radius + sticksOffset, y: greenOne.radius + sticksOffset)
redOne.position = CGPoint(x: self.frame.maxX - redOne.radius - sticksOffset / 2, y: view.bounds.size.height / 2)
试过了,redOne 出现在绿色旁边
redOne.position = CGPoint(x: redOne.radius + 100, y: 200)
视图似乎不适合屏幕并且太大了。
【问题讨论】:
-
所以只有绿色圆圈和背景显示?
-
是的,只有绿色的,虽然所有的圆圈都有相同的设置..
-
我明白了,您能提供更多代码吗?也许展示圈子是如何设置的。
-
哦,大概是找到问题了——绿圈的位置只是做了一些偏移。其他人的位置有
self.frame.maxX。你怎么看? (我会在一分钟内发布代码) -
绿色定位应该没问题。如果您不指定位置,它将自动将对象放在位置 0,0。您是否检查过您的对象是否分配了 zPosition/
标签: ios swift sprite-kit