gpt4 book ai didi

ios - 从 contact.bodyA.node 获取自定义类属性

转载 作者:搜寻专家 更新时间:2023-11-01 07:32:43 26 4
gpt4 key购买 nike

我正在开发一款 IOS 游戏,但我遇到了 didBeginContact() 的一些问题。

我正在尝试从我的自定义类之一“FullBarClass”中获取 .difference 属性。这是一些代码:

func didBeginContact(contact: SKPhysicsContact) {
var a: SKPhysicsBody
var b: SKPhysicsBody

if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask{
a = contact.bodyA
b = contact.bodyB
} else {
b = contact.bodyA
a = contact.bodyB
}

let bar : FullBarClass = contact.bodyA.node
let dif = Int(bar.difference)
println(dif)
}

在“let bar : ...”行中,我收到一个错误:“SKNode? is not convertible to 'FullBarClass'”。

有人知道为什么这不起作用吗?

最佳答案

因为 contact.bodyA.node 是一个可选的并且可能不是一个 FullBarClass,你不能简单地分配 body 节点对象到 FullBarClass 常量。您可以有条件地将对象分配给 bar 如果它是适当的类型

if let bar = contact.bodyA.node as? FullBarClass {
// This will only execute if body node is a FullBarClass
let dif = Int(bar.difference)
print(dif)
}

关于ios - 从 contact.bodyA.node 获取自定义类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31550556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com