         }
     }    
 }
+
+#if os(iOS)
+private extension Selector {
+    static let tapped = #selector(Game.tapped(_:))
+}
+    
+extension Game {
+    public override func didMoveToView(view: SKView) {
+        let recognizer = UITapGestureRecognizer(target: self, action: .tapped)
+        tapRecognizer = recognizer
+        view.addGestureRecognizer(recognizer)
+    }
+    
+    public override func willMoveFromView(view: SKView) {
+        view.removeGestureRecognizer(tapRecognizer!)
+    }
+    
+    func tapped(recognizer: UITapGestureRecognizer) {
+        let pointInView = recognizer.locationInView(self.view)
+        let point = convertPointFromView(pointInView)
+        handleTap(at: point)
+    }
+}
+#endif

import Foundation
import SpriteKit
import GLKit
import UIKit

private extension Selector {
    static let tapped = #selector(Game.tapped(_:))
}

public extension SKNode {
    public func radians(degrees: CGFloat) -> CGFloat {

        }
    }
    
    func handleTap(at point: CGPoint) {
        let nodes = nodesAtPoint(point)
        
        let screens = screensInArray(nodes)
