这是让我“我该怎么办?”的问题之一
这是我遇到的编译器错误:
在“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/