小编Vis*_*oko的帖子

如何使用ARKit识别用户是否单击了屏幕上显示的对象-Swift

我是一个新的iOS编程。我要构建一个允许用户单击屏幕上显示的特定对象的应用程序。我正在使用addGestureRecognizer已显示的对象,以识别是否已单击用户,然后我只想在屏幕上添加另一个对象。

这是我到目前为止所做的

objpizza = make2dNode(image:#imageLiteral(resourceName: "pizza"),width: 0.07,height: 0.07)
    objpizza.position = SCNVector3(0,0,-0.2)
    objpizza.name = "none"

    self.arView.addGestureRecognizer(UIGestureRecognizer(target: self, action: #selector(selectObject)))
    arView.scene.rootNode.addChildNode(objpizza)
Run Code Online (Sandbox Code Playgroud)

这是make2dNode功能只是调整对象

func make2dNode(image: UIImage, width: CGFloat = 0.1, height: CGFloat = 0.1) -> SCNNode {
    let plane = SCNPlane(width: width, height: height)
    plane.firstMaterial!.diffuse.contents = image
    let node = SCNNode(geometry: plane)
    node.constraints = [SCNBillboardConstraint()]
    return node
}
Run Code Online (Sandbox Code Playgroud)

这是我在实现时从未调用的函数 self.arView.addGestureRecognizer(UIGestureRecognizer(target: self, action: #selector(selectObject)))

@objc func selectObject() {

    print("Image has been selected")
}
Run Code Online (Sandbox Code Playgroud)

uigesturerecognizer swift iosdeployment arkit

4
推荐指数
2
解决办法
502
查看次数

标签 统计

arkit ×1

iosdeployment ×1

swift ×1

uigesturerecognizer ×1