以下のコードを使用して、iOSで3Dキューブを自動的に作成することができます。iOSで2つのジェスチャーを使用して3Dキューブを構築する
質問は2つのジェスチャーで3Dキューブを構築する方法ですか?
ピンチアウトジェスチャ XZ軸に立方体のベースを作りたいと思います。
次に、ドラッグジェスチャ Y軸に立方体の高さを作りたいと思います。
どうすればよいですか?
import UIKit
import SceneKit
class GameViewController: UIViewController {
var scnView: SCNView!
var scnScene: SCNScene!
var cameraNode: SCNNode!
override func viewDidLoad() {
super.viewDidLoad()
setupView()
setupScene()
setupCamera()
spawnShape()
}
override func shouldAutorotate() -> Bool {
return true
}
override func prefersStatusBarHidden() -> Bool {
return true
}
func setupView() {
scnView = self.view as! SCNView
scnView.allowsCameraControl = true
scnView.autoenablesDefaultLighting = true
}
func setupScene() {
scnScene = SCNScene()
scnView.scene = scnScene
scnScene.background.contents = "BG.scnassets/BgTexture.png"
}
func setupCamera() {
cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position = SCNVector3(x: 0, y: 0, z: 12)
scnScene.rootNode.addChildNode(cameraNode)
}
func spawnShape() {
var geometry: SCNGeometry
switch ShapeType.random() {
case .Box:
geometry = SCNBox(width: 1.0, height: 1.0, length: 1.0, chamferRadius: 0.1)
}
let geometryNode = SCNNode(geometry: geometry)
scnScene.rootNode.addChildNode(geometryNode)
}
}
私はUIPinchGestureRecognizer()
とUIPanGestureRecognizer()
サブクラスを実装しようとしたが、私は失敗しました。私はそれを作る方法を知らない。
まだ試しましたか?あなた自身で実装しようとすると、それは非常に重要ではないように思えます。 – luk2302
あなたが試したコードを投稿し、それがうまくいかなかったか説明してください。 –
あなたの幅と長さのスケールをピンチスケールに設定し、呼び出すたびにピンチスケールスケールを1.0にリセットすることはできませんか?これにより、段階的な成長が可能になります。 – Emptyless