gpt4 book ai didi

swift - 通过引用传递数组 [Swift 3 Xcode 8]

转载 作者:行者123 更新时间:2023-11-28 15:24:57 25 4
gpt4 key购买 nike

我创建了一个项目符号类,我希望它包含一个名为 locatedInArray 的属性。 locatedInArray 存储项目符号存储在 GameScene 类中的数组的引用。唯一的问题是,当我添加打印语句时,它显示 locatedInArray 与游戏场景中的实际数组相比具有不同的值。有没有办法通过引用而不是值来传递数组?

通过函数调用传递给项目符号实例的数组。

bullet.shoot(from: self.mainCharacter, to: "right", fromPercentOfWidth: 0.5, fromPercentOfHeight: 0.65, addToArray: &playerBulletArray, inScene: self)

数组被分配为项目符号对象内的属性。

func shoot(from character: SKSpriteNode, to direction: String, fromPercentOfWidth xPercent: CGFloat, fromPercentOfHeight yPercent: CGFloat, addToArray array: inout[SKBulletsNode?], inScene scene: GameScene) {

self.gameScene = scene
self.locatedInArray = array
}

最佳答案

您能否创建一个包含 SKBulletsNode 数组作为属性的类,并将这些对象中的一个传递给函数?

像这样:

class BulletArray {
var bullets : [SKBulletsNode]?
}

func shoot(from character: SKSpriteNode, to direction: String, fromPercentOfWidth xPercent: CGFloat, fromPercentOfHeight yPercent: CGFloat, addToArray array: inout BulletArray , inScene scene: GameScene) {
self.gameScene = scene
self.locatedInArray = array
}

查看此链接了解更多信息: Swift: Pass array by reference?

关于swift - 通过引用传递数组 [Swift 3 Xcode 8],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45403687/

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