gpt4 book ai didi

function - Swift - 无法通过从另一个函数捕获来引用本地函数

转载 作者:行者123 更新时间:2023-11-30 10:20:30 25 4
gpt4 key购买 nike

我正在尝试基于 Balloons.playground (苹果在 WWDC 上展示的)在 Swift 上创建一个非常简单的游戏。 Apple提供了代码:

func fireCannon(cannon: SKNode) {
let balloon = createRandomBalloon()
displayBalloon(balloon, cannon)
fireBalloon(balloon, cannon)
}

let leftBalloonCannon = scene.childNodeWithName("//left_cannon")!
let left = SKAction.runBlock { fireCannon(leftBalloonCannon) }

我也这样做(我想):

func displayFruit(xPos: CGFloat) -> Void {
let fruit = SKSpriteNode(imageNamed: "Banana")
fruit.size = CGSize(width: 100, height: 100)
fruit.position = CGPoint(x:xPos, y: 800)
fruit.physicsBody = SKPhysicsBody(texture: fruit.texture, size: fruit.size)
fruit.physicsBody?.affectedByGravity = true
self.addChild(fruit)
}

let start = SKAction.runBlock { displayFruit(100) }

上面的代码我放在override func didMoveToView(view: SKView)

我收到错误:无法通过从另一个函数捕获来引用本地函数

我知道有非常相同的问题,但那里的解决方案似乎对我没有帮助。这样做的正确方法是什么?谢谢!

最佳答案

这是一个本地函数:

override func didMoveToView(view: SKView) {
func displayFruit() {
// ...
}
}

这不是本地函数:

override func didMoveToView(view: SKView) {
// ...
}
func displayFruit() {
// ...
}

让它看起来像第二个。

关于function - Swift - 无法通过从另一个函数捕获来引用本地函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26960266/

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