ARKitを使って立方体を作成しています。
ボタンをタップして立方体を削除できるようにしたいのですが、
立方体が削除できずつまずいています。
コーディング内容は、下記の通りです。
import UIKit import ARKit import SceneKit class ARViewController: UIViewController, ARSCNViewDelegate { @IBOutlet weak var sceneView: ARSCNView! @IBOutlet weak var cubeButton: UIButton! var isCubeShow: Bool = false let configuration = ARWorldTrackingConfiguration() func makeCube() { let cube = SCNBox(width: 8.0, height: 8.0, length: 8.0, chamferRadius: 1.2) let cubeNode = SCNNode(geometry: cube) cubeNode.position = SCNVector3Make(4.0, 10.0, -3.0) if isCubeShow == false { self.sceneView.scene.rootNode.addChildNode(cubeNode) isCubeShow = true } else if isCubeShow == true { cubeNode.removeFromParentNode() isCubeShow = false } } func setupSceneView() { self.sceneView.session.run(configuration) self.sceneView.delegate = self } @IBAction func cubeButtonTapped(_ sender: UIButton) { makeCube() }
アプリ起動直後は、立方体を表示していません。
ボタンをタップして、立方体を表示しています。
再度ボタンをタップすることで、立方体を削除させたいと考えています。
現在、アプリ起動後にボタンをタップして立方体は表示されます。
しかし、再度ボタンをタップしても立方体が削除できない状態です。
立方体を削除するには、どのようなコーディングをすべきでしょうか。
また、フラグを使わないコーディング方法などありましたら、ご教示頂けますで
しょうか。
宜しくお願いいたします。
・補足情報
xcode9/swift4
あなたの回答
tips
プレビュー