gpt4 book ai didi

ios - 来自另一个类的值

转载 作者:行者123 更新时间:2023-11-29 01:30:04 24 4
gpt4 key购买 nike

我在 SKScene 类中创建了一个名为 ForceTouch 的新类。这是 UIView 类型。不确定这样做是否正确,但它似乎已经消除了错误。我的问题是;我已经在我的 ForceTouch 类中计算了一个值,并希望在我的 SKScene 类中使用它。是否有可能做到这一点?下面是我的代码的副本:

ForceTouch 类:UIView {

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first where traitCollection.forceTouchCapability == .Available {

let relativeForce = touch.force / touch.maximumPossibleForce
let forceMultiplier: CGFloat = 100
let playerFlight = CGFloat(relativeForce) * CGFloat(forceMultiplier)
var playerVelocity = CGPoint.zero
func flyPlayer() {
playerVelocity = CGPoint(x: 0, y: playerFlight)
}

flyPlayer()

}
}
}

我想使用我为 playerVelocity 计算的值,并稍后在代码中使用它:在我的 ForceTouch 类之外。当我尝试这样做时,我收到错误“使用未解析的标识符-playerVelocity”。请有人给我一些帮助来解决这个问题吗?提前致谢!

最佳答案

如果您必须直接从您的 ForceTouch 类中使用 playerVelocity 值,那么您可以这样做,例如:

class ForceTouch: UIView {

var playerVelocity = CGPoint.zero

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first where traitCollection.forceTouchCapability == .Available {
let relativeForce = touch.force / touch.maximumPossibleForce
let forceMultiplier: CGFloat = 100
let playerFlight = CGFloat(relativeForce) * CGFloat(forceMultiplier)
func flyPlayer() {
playerVelocity = CGPoint(x: 0, y: playerFlight)
}

flyPlayer()
}
}
}

然后在您的 SKScene 类中从 ForceTouch 对象获取它,例如 forceTouch.playerVelocity 其中 forceTouch 是对象您在 SKScene 类中拥有的 ForceTouch

或者如果你需要在一些 Action 之后发送playerVelocity给parrent类你需要使用委托(delegate)机制

关于ios - 来自另一个类的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33546012/

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