Skip to content
Snippets Groups Projects
Commit e786ddd5 authored by Francois Bertrand's avatar Francois Bertrand
Browse files

Add Accelerometer movement, Changed Packman Camera

parent 616cda23
Branches
Tags
No related merge requests found
...@@ -9,9 +9,14 @@ ...@@ -9,9 +9,14 @@
import UIKit import UIKit
import QuartzCore import QuartzCore
import SceneKit import SceneKit
import CoreMotion
class GameViewController: UIViewController { class GameViewController: UIViewController {
var motionManager: CMMotionManager?
var isRotating: Bool = false
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -71,6 +76,26 @@ class GameViewController: UIViewController { ...@@ -71,6 +76,26 @@ class GameViewController: UIViewController {
// add a tap gesture recognizer // add a tap gesture recognizer
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:))) let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:)))
scnView.addGestureRecognizer(tapGesture) scnView.addGestureRecognizer(tapGesture)
motionManager = CMMotionManager()
if (motionManager?.isAccelerometerAvailable)! {
motionManager?.accelerometerUpdateInterval = 0.1
motionManager?.startAccelerometerUpdates(to: OperationQueue.main, withHandler: { (data, error) in
let rotate = data!.acceleration.y
//print(rotate)
let pacman = scene.rootNode.childNode(withName: "Pacman", recursively: true)!
let direction: Float = rotate < 0 ? 1.0 : -1.0
if abs(rotate) > 0.3 {
if !self.isRotating {
let action = SCNAction.rotateBy(x: 0, y: CGFloat(direction * Float.pi * 0.5), z: 0, duration: 0.25)
pacman.runAction(action)
self.isRotating = true
}
} else {
self.isRotating = false
}
})
}
} }
func handleTap(_ gestureRecognize: UIGestureRecognizer) { func handleTap(_ gestureRecognize: UIGestureRecognizer) {
...@@ -109,7 +134,7 @@ class GameViewController: UIViewController { ...@@ -109,7 +134,7 @@ class GameViewController: UIViewController {
} }
override var shouldAutorotate: Bool { override var shouldAutorotate: Bool {
return false return true
} }
override var prefersStatusBarHidden: Bool { override var prefersStatusBarHidden: Bool {
...@@ -118,7 +143,7 @@ class GameViewController: UIViewController { ...@@ -118,7 +143,7 @@ class GameViewController: UIViewController {
override var supportedInterfaceOrientations: UIInterfaceOrientationMask { override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
if UIDevice.current.userInterfaceIdiom == .phone { if UIDevice.current.userInterfaceIdiom == .phone {
return .portrait return .landscape
} else { } else {
return .all return .all
} }
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<contributor> <contributor>
<authoring_tool>SceneKit Collada Exporter v1.0</authoring_tool> <authoring_tool>SceneKit Collada Exporter v1.0</authoring_tool>
</contributor> </contributor>
<created>2017-06-19T13:19:41Z</created> <created>2017-06-19T15:47:15Z</created>
<modified>2017-06-19T13:19:41Z</modified> <modified>2017-06-19T15:47:15Z</modified>
<unit meter="1.000000"/> <unit meter="1.000000"/>
<up_axis>Z_UP</up_axis> <up_axis>Z_UP</up_axis>
</asset> </asset>
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
<library_visual_scenes> <library_visual_scenes>
<visual_scene id="scene5"> <visual_scene id="scene5">
<node id="Sphere" name="Sphere"> <node id="Sphere" name="Sphere">
<matrix>1.580022 0 0 0 0 -6.9065e-08 -1.580022 0 0 1.580022 -6.9065e-08 0 0 0 0 1 </matrix> <matrix>1.580022 0 0 0 0 -6.9065e-08 -1.580022 7.33742e-11 0 1.580022 -6.9065e-08 -0.001678586 0 0 0 1 </matrix>
<instance_geometry url="#Sphere-mesh"> <instance_geometry url="#Sphere-mesh">
<bind_material> <bind_material>
<technique_common> <technique_common>
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
</instance_geometry> </instance_geometry>
</node> </node>
<node id="Camera_001" name="Camera_001"> <node id="Camera_001" name="Camera_001">
<matrix>0.009428203 0.3446076 -0.9386549 -5.094206 -0.9999211 0.00324893 -0.008850717 0.0210471 -3.576155e-07 0.9387442 0.3446054 2.326969 0 0 0 1 </matrix> <matrix>0.00942713 0.2635223 -0.9645737 -6.061088 -0.9999358 0.002483249 -0.009094264 0.01192989 -9.834569e-07 0.9646677 0.2635197 2.681937 0 0 0 1 </matrix>
<instance_camera url="#Camera_001-camera"/> <instance_camera url="#Camera_001-camera"/>
</node> </node>
</visual_scene> </visual_scene>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment