Ich bin sehr neu in der iOS-Entwicklung, aber ich habe mit der SpriteKit Template-App herumgespielt, um zu lernen, wie die Dinge funktionieren, und versuche, Swift zu booten, während ich dabei bin. Eine Sache, mit der ich Probleme habe, ist, wie man mit SpriteKit-Unterklassen arbeitet.Unterklasse SpriteKit-Klassen in Swift
ich in der GameScene.swift Datei bin und ich versuche, eine Klasse für das „Hallo Welt“ Etikett zu extrahieren, also hier, was die Datei wie folgt aussieht:
// GameScene.swift
import SpriteKit
class HelloLabel: SKLabelNode {
init(fontNamed: String) {
super.init(fontNamed: fontNamed)
self.text = "Hello, World!"
self.fontSize = 65;
self.position = CGPoint(x: 400, y: 500);
}
}
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
// let myLabel = SKLabelNode(fontNamed:"Chalkduster")
// myLabel.text = "Hello, World!";
// myLabel.fontSize = 65;
// myLabel.position = CGPoint(x: 400, y: 500);
let myLabel = HelloLabel(fontNamed: "Chalkduster")
self.addChild(myLabel)
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
/* snip, no changes made here */
}
override func update(currentTime: CFTimeInterval) {
/* snip, no changes made here */
}
}
Also, HelloLabel
gedacht nur ein Pass-Through in einem Versuch, zu verstehen, wie alles Drähte zusammen, aber wenn ich die App laufen, ich folgende Fehlermeldung erhalten:
/Users/jon/Projects/ErrorExample/ErrorExample/GameScene.swift: 11: 11: fatal error: use of unimplemented initializer 'init()' for class 'ErrorExample.HelloLabel'
ich bin nicht zu verstehen, was diese Nachricht mir versucht zu sagen, . Die Art, wie ich diesen Fehler gelesen habe, ist, dass er sich beschwert, dass ich keinen Initialisierer namens init
in der Klasse ErrorExample.HelloLabel
implementiert habe, aber es sieht so aus, als ob ich zu mir hätte!
Also, was mache ich hier falsch - wie extrahiert man eine Klasse, um all diese Einstellungen zu verbergen?
Ehrfürchtig, danke für die Hilfe!! :) – jonallured