ios - ARKit 头部倾斜检测 - iOS
问题描述
我想创建一个测验应用程序,用户可以通过向左或向右倾斜头部来回答问题以判断真假。
func renderer(_ renderer: SCNSceneRenderer,
didUpdate node: SCNNode,
for anchor: ARAnchor) {
if let faceAnchor = anchor as? ARFaceAnchor,
let _ = node.geometry as? ARSCNFaceGeometry {
if abs(faceAnchor.lookAtPoint.x) >= 0.17 {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.falseButton.sendActions(for: .touchUpInside)
}
}
if abs(faceAnchor.lookAtPoint.y) >= 0.17 {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.trueButton.sendActions(for: .touchUpInside)
}
}
}
}
我在视图中有两个按钮(true&false),每次倾斜头部时我只想触发一次按钮的功能。上面的代码不起作用,因为lookAtPoint 给出了导致函数被多次触发的即时值。
当我的头部向右或向左有一定角度时,如何触发一次功能?
解决方案
推荐阅读
- cassandra - 几个小时前创建的提交日志可以应用于 cassandra 集群吗?
- dart - 有没有办法将高度设置为抽屉页眉?
- node.js - 如何检测脚本正在使用 npm 或 yarn 运行?
- c# - NSInvalidArgumentException 原因:-[NSISLinearExpression _referenceView] 在 IOS 10.3.1 或更低版本上
- c - 从nodemcu lua中的lua函数返回大字符串
- python - 从元组列表转换后,python字典中的排序顺序丢失
- python - 如何在同一标签下绘制整个 Pandas DataFrame?
- python-3.x - 如何有效地使用 Django 查询和 Q 过滤查询集中的每个对象并为查询集中的每个唯一字段返回 1 个字段值
- ruby - 如何防止 peek 方法将读取光标向前移动?
- html-table - 表内的 Bootstrap 4 datetimepicker 设计不正确