我正在 SceneKit 中开发一个项目,用户可以更改场景中的对象,并希望能够在用户点击提交按钮时保存场景的状态。在SceneKit的文档中,有一个函数调用write:https://developer.apple.com/documentation/scenekit/scnscene/1523577-write 。但是,当我按照说明使用它时,它不会写入文件。我还使用了文档中所说的文件方案来创建 URL:https://developer.apple.com/documentation/foundation/url 。 这是我的代码。谢谢你的帮助。这对我来说非常新鲜,因此我们将不胜感激任何更多建议。
@IBAction func submitButton(_ sender: UIButton) {
let scnurl = NSURL.fileURL(withPath: "State.scn")
if(scnScene.write(to: scnurl, options: nil, delegate: nil, progressHandler: nil)){
print("tis success")
}
print("This button work")
}
该按钮确实有效,因为它打印出“此按钮有效”,但它没有打印出“tis success”,因为该函数返回 false。
最佳答案
我会利用 SCNScene.write() 的最后一个参数方法,有一个进度处理程序,如果失败,可能会向您提供错误信息。
我预计它会因为您提供的 URL 而失败。看一下从 FileManager 获取 URL并将您的文件名附加到其中。
关于swift - scnScene.write 未将场景写入 .scn 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52959762/