ARCore AnchorNode.setOnTapListener - PullRequest
       7

ARCore AnchorNode.setOnTapListener

1 голос
/ 20 марта 2019

Я пытаюсь добавить onTapListener к узлу, но код внутри него никогда не вызывается.Может кто-то заметить ошибку, которую я делаю?

private fun addNodeToScene(fragment: ArFragment, createAnchor: Anchor, renderable: ModelRenderable) {
    val anchorNode = AnchorNode(createAnchor)
    anchorNode.setOnTapListener{_,_ ->
        buttonasd.text = "asdasd" // this line is never called
    }

    val transformableNode = TransformableNode(fragment.transformationSystem)
    transformableNode.renderable = renderable
    transformableNode.setParent(anchorNode)
    fragment.arSceneView.scene.addChild(anchorNode)
    transformableNode.select()
}

1 Ответ

0 голосов
/ 27 марта 2019

Попробуйте немного другой подход, например:

private var grid = Array(ROW_NUM) { 
    arrayOfNulls<TranslatableNode>(COL_NUM) 
}

val anchorNode = AnchorNode(hitResult.createAnchor())
anchorNode.setParent(arFragment.arSceneView.scene)

grid.matrixIndices { col, row ->
    val renderableModel = droidRenderable?.makeCopy() ?: return@matrixIndices
    TranslatableNode().apply {
        setParent(anchorNode)
        renderable = renderableModel
        addOffset(x = row * spacing, z = col * spacing)
        grid[col][row] = this
        this.setOnTapListener { _, _ ->
            // button.text = "asdasd"
        }
    }
}

Надеюсь, это поможет.

...