【发布时间】:2017-01-28 04:07:58
【问题描述】:
使用 Xcode 8、swift 3,我使用游戏模板创建了一个 iOS 应用程序,并启用了实体。我注意到我看到一些初始精灵的双节点计数,即使我只使用了一次 addChild。
我加了
override func sceneDidLoad() {
print(#function) ... }
到代码,不知道为什么会被调用两次。
日志文件...
2016-09-20 10:21:31.482 MMDecon1[3295:791435] SKUtil.m: MGGetBoolAnswer is not available in the simulator.
sceneDidLoad()
sceneDidLoad()
我加了
override func didMove(to view: SKView) {..}
并将我的初始化代码放在这里作为临时修复。
有人知道为什么使用实体的默认游戏应用代码会触发两次 sceneDidLoad() 吗?
【问题讨论】:
-
因为 xcode 先设置了一个虚拟版本的场景,然后才是真实的场景。不知道为什么,Apple 说它工作正常
-
你从哪里找到的?
sceneDidLoad的评论说"this is the recommended place to perform one-time setup" -
很久以前我提交了一个关于它的错误报告,然后我发送的任何错误报告都声称它工作正常,不知道我为什么要提交错误。
-
你不应该看到双重节点,它应该立即破坏虚拟场景
-
我看到了同样的事情。我唯一的理论是,它与我在 Storyboard 编辑器中使用 Segue 相关……这是我看到的唯一重新配置的可能性。不过不知道为什么。 didMoveToView:(SKView *)view 解决方法虽然有效 - 谢谢。
标签: swift xcode sprite-kit ios10