X-Git-Url: http://git.roojs.org/?p=app.GameProjectTest;a=blobdiff_plain;f=GameProjectTest%2FGameViewController.swift;h=1dbd23810e6ba89cb34d036e40952197145ad0d7;hp=be5bd9ceaddb8fd795bc14305314139c9ab9a6de;hb=19f2f521ac6ce552d10b01ecfff76b95efc42c49;hpb=9b792dab1b97ffff1a0ccf4d3fc40816b843a2aa diff --git a/GameProjectTest/GameViewController.swift b/GameProjectTest/GameViewController.swift index be5bd9c..1dbd238 100644 --- a/GameProjectTest/GameViewController.swift +++ b/GameProjectTest/GameViewController.swift @@ -1,20 +1,23 @@ // // GameViewController.swift -// GameProjectTest +// GameProjectTwo // -// Created by Alan Knowles on 29/3/2022. +// Created by Alan Knowles on 30/3/2022. // import UIKit import QuartzCore import SceneKit - - - - - class GameViewController: UIViewController { + + override func loadView() + { + let scnView = SCNView() + self.view = scnView + + } + override func viewDidLoad() { super.viewDidLoad() @@ -45,10 +48,10 @@ class GameViewController: UIViewController { scene.rootNode.addChildNode(ambientLightNode) // retrieve the ship node - let ship = scene.rootNode.childNode(withName: "ship", recursively: true)! + //let ship = scene.rootNode.childNode(withName: "ship", recursively: true)! // animate the 3d object - ship.runAction(SCNAction.repeatForever(SCNAction.rotateBy(x: 0, y: 2, z: 0, duration: 1))) + //ship.runAction(SCNAction.repeatForever(SCNAction.rotateBy(x: 0, y: 2, z: 0, duration: 1))) // retrieve the SCNView let scnView = self.view as! SCNView @@ -63,50 +66,15 @@ class GameViewController: UIViewController { scnView.showsStatistics = true // configure the view - scnView.backgroundColor = UIColor.black + scnView.backgroundColor = UIColor.red // add a tap gesture recognizer - let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:))) - scnView.addGestureRecognizer(tapGesture) - scnView.isHidden = true + //let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:))) + //scnView.addGestureRecognizer(tapGesture) } - @objc - func handleTap(_ gestureRecognize: UIGestureRecognizer) { - // retrieve the SCNView - let scnView = self.view as! SCNView - - // check what nodes are tapped - let p = gestureRecognize.location(in: scnView) - let hitResults = scnView.hitTest(p, options: [:]) - // check that we clicked on at least one object - if hitResults.count > 0 { - // retrieved the first clicked object - let result = hitResults[0] - - // get its material - let material = result.node.geometry!.firstMaterial! - - // highlight it - SCNTransaction.begin() - SCNTransaction.animationDuration = 0.5 - - // on completion - unhighlight - SCNTransaction.completionBlock = { - SCNTransaction.begin() - SCNTransaction.animationDuration = 0.5 - - material.emission.contents = UIColor.black - - SCNTransaction.commit() - } - - material.emission.contents = UIColor.red - - SCNTransaction.commit() - } - } + override var shouldAutorotate: Bool { return true