很抱歉有新手问题但有人可以帮忙将其翻译成Swift吗?
-(instancetype)init
{
self = [super initWithImageNamed:@"character.png"];
{.
self.name = playerName;
self.zPosition = 10;
}
return self;
}
适用于SKSpriteNode的孩子
当我尝试调用super.init(imageNamed: "character.png")
时,我收到错误消息“必须调用超类SKSpriteNode的指定初始化器。
如果我试着像这样写:
init() {
super.init()
self.name = playerName
self.zPosition = 10
}
我打电话给我的GameScene时收到错误:
var player : Player = Player(childNodeWithName(playerName))
我收到有关将类型转换为字符串的错误。
答案 0 :(得分:3)
子类初始化器必须调用超类的指定初始化器。
对于initWithTexture: color: size:
可以直接从图像制作SKTexture:
let texture = SKTexture(imageName: "character.png")
颜色:
let color = UIColor.clearColor()
然后:
super.init(texture: texture color:color size:texture.size)
类播放器需要一个带有SKNode的初始化器:
init(node: SKNode) {
...
}