我最近开始在iOS 8中使用scenekit for scenekit。我在检测用户是否点击或按下了对象时遇到了困难。有没有办法做到这一点?
答案 0 :(得分:3)
请参阅hitTest
方法的文档。从您处理触摸事件的任何地方调用该信息,以获取“在2D屏幕点下”的3D场景对象/位置列表。
答案 1 :(得分:3)
获取显示hitTest实例的示例代码的简单方法是使用XCode6中的Game模板创建示例应用程序。创建一个新项目,选择" Game"模板。
hitTest代码应该在执行:
中- (void) handleTap:(UIGestureRecognizer*)gestureRecognize
答案 2 :(得分:0)
向对象添加轻击手势,并检查其是否为SCNNode()
@objc func tapGetsureRec(sender: UIPanGestureRecognizer? = nil){
let location: CGPoint = (sender?.location(in: self.view))!
let hits = self.sceneKitView.hitTest(location, options: nil)
if let tappedNode : SCNNode = hits.first?.node {
...
}
}