gpt4 book ai didi

swift - 在类型 'meow' 上使用实例成员 'Cat' 您是否打算改为使用类型 'Cat' 的值?

转载 作者:行者123 更新时间:2023-11-30 13:13:47 28 4
gpt4 key购买 nike

这是让我“我该怎么办?”的问题之一

这是我遇到的编译器错误:

在“SKFootmanSprite”类型上使用实例成员“getAttackUPSequence_Frames”您是否打算改用“SKFootmanSprite”类型的值?

我正在为我的所有 _Frames 变量获取此信息。以下是我的 SKFootmanSprite 的公共(public)属性:

// ATTACK
static let attackUp_Frames = getAttackUPSequence_Frames()
static let attackDown_Frames: [SKTexture] = getAttackDOWNSequence_Frames()
static let attackLeft_Frames: [SKTexture] = getAttackLEFTSequence_Frames()
static let attackRight_Frames: [SKTexture] = getAttackRIGHTSequence_Frames()

static let attackUpRight_Frames: [SKTexture] = getAttackUPRIGHTSequence_Frames()
static let attackUpLeft_Frames: [SKTexture] = getAttackUPLEFTSequence_Frames()

static let attackDownLeft_Frames: [SKTexture] = getAttackDOWNLEFTSequence_Frames()
static let attackDownRight_Frames: [SKTexture] = getAttackDOWNRIGHTSequence_Frames()

这是获得攻击顺序的函数之一:

func getAttackUPSequence_Frames() -> [SKTexture] {
var textures = [SKTexture]()
for var i = 1; i < 7; i+=1 {
let imageName = "footman_attack_up0" + String(i)
textures.append(SKTexture(imageNamed: imageName))
}
let imageName = "footman_up_stand"
textures.append(SKTexture(imageNamed: imageName))
return textures
}

我希望我的 Sprite 框架使用 let 而不是 var。(苹果的官方 Swift 教科书非常强调使用 let 而不是 var 来处理此类事情。)

最佳答案

您的问题是您的 let 变量是静态的,但您的函数不是。

您应该尝试将函数 getAttackUPSequence 设为静态。

该错误意味着您正在尝试从实例“外部”访问实例成员(函数)。

关于swift - 在类型 'meow' 上使用实例成员 'Cat' 您是否打算改为使用类型 'Cat' 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38449764/

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