如何添加条件来区分虚线和实心焦点方块?

时间:2018-03-16 13:28:13

标签: ios scenekit arkit

我正在开发一个AR应用程序。它包括焦点方块(虚线和实心焦点),它为用户提供有关ARkit对象跟踪状态的提示。

目前,“添加对象(+)”即将出现在虚线焦点上。当存在虚线焦点正方形时我不想要它。它应仅处于活动状态或启用为实体 焦点广场。 谁能告诉我如何区分虚线和实心焦点方块? 我附上图片以便更好地了解情况。

enter image description here

1 个答案:

答案 0 :(得分:2)

由于您实际上并未包含FocusSquare的任何代码,因此很难为您提供帮助。

但是,我猜测你正在使用Apple Example Focus Square样本......

如果是这种情况,那么如果您查看代码,您会看到第83行附近有一个名为private var的{​​{1}}:

isOpen

如果您将其更改为private var isOpen = false

public var

您可以在public var isOpen = false 中的updateAtTime回调中检查,例如:

ARSCNViewDelegateMethod

按照您的意愿处理。

这是一个简单的修复,但我建议您使用此作为制作更多实体解决方案的基础。

希望这能指出你正确的方向......

此外,当 func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) { if focusSquare.isOpen{ print("Focus Square Is Open") }else{ print("Focus Square Is Closed") } } 关闭时,表示已检测到FocusSquare,这又提供了另一种处理功能的方式。