【发布时间】:2015-08-16 05:11:42
【问题描述】:
我是 swift 新手,我正在尝试通过以下方式学习 swift 创建一个简单的纸牌游戏。我从视频中输入了完全相同的代码。 但是xcode显示错误“在super.init初始化self之前在属性访问'texture'中使用'self'” 感谢您的帮助!
import SpriteKit
class Card: SKSpriteNode {
var rank: Int
var suit: String
var imageNameUp: String
var textureUp: SKTexture
var textureDown: SKTexture
init(rank: Int, suit: String, faceUp: Bool){
self.rank = rank
self.suit = suit
self.imageNameUp = "\(suit)_\(rank)"
self.textureUp = SKTexture(imageNamed: imageNameUp)
self.textureDown = SKTexture(imageNamed: "cardback")
if faceUp {
self.texture = textureUp //error
} else {
self.texture = textureDown //error
}
super.init(texture: texture, color: nil, size: texture!.size()) //error causes when I try to unwrap size: texture!.size()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func flip(){
self.texture = textureUp
}
}
【问题讨论】: