我有一个SCNNode的子类“ExSCNNode”来向SCNNode添加更多属性和行为. class ExSCNNode : SCNNode {...} 我比使用ExSCNNode构建一个场景. let testnode = ExSCNNode() 当测试场景时: // check what nodes are tappedlet
class ExSCNNode : SCNNode { ... }
我比使用ExSCNNode构建一个场景.
let testnode = ExSCNNode()
当测试场景时:
// check what nodes are tapped let p = gestureRecognize.location(in: scnView) let hitResults = scnView.hitTest(p, options: [:]) // check that we clicked on at least one object if hitResults.count > 0 { for hit in hitResults { let hitnode = hit.node ...
hitnode是SCNNode而不是ExSCNNode.
但我想让ExSCNNode访问高级功能.
如何访问子类而不是SCNNode类?
只需将对象强制转换为子类:// check what nodes are tapped let p = gestureRecognize.location(in: scnView) let hitResults = scnView.hitTest(p, options: [:]) for hit in hitResults { if let hitnode = hit.node as? ExSCNNode { … }