我有一个子类" ExSCNNode" SCNNode向SCNNode添加更多属性和行为。
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类?
答案 0 :(得分:5)
只需将对象强制转换为子类:
// 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 {
…
}