【问题标题】:Scenekit detecting User tapped objectScenekit 检测用户点击的对象
【发布时间】:2014-12-14 04:31:20
【问题描述】:

我最近开始在 iOS 8 中将 scenekit 用于 scenekit。我在检测用户是否点击或按下了对象时遇到了困难。有什么办法吗?

【问题讨论】:

    标签: ios swift ios8 scenekit


    【解决方案1】:

    请参阅hitTest 方法的文档。从您处理触摸事件的任何地方调用它,以获取 2D 屏幕点“下方”的 3D 场景对象/位置列表。

    【讨论】:

    • 非常感谢,这真的很有帮助
    【解决方案2】:

    获取显示 hitTest 运行的示例代码的一种简单方法是使用 XCode6 中的游戏模板创建示例应用程序。创建一个新项目,选择“游戏”模板。

    hitTest 代码应该存在于:

    - (void) handleTap:(UIGestureRecognizer*)gestureRecognize
    

    【讨论】:

      【解决方案3】:

      给对象添加一个点击手势,并检查它是否是一个SCNNode()

           @objc func tapGestureRec(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 {
                      ...
                  }
           }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-10
        • 2011-09-10
        • 2017-05-03
        • 2016-06-18
        • 1970-01-01
        • 1970-01-01
        • 2011-12-18
        相关资源
        最近更新 更多