Also experimentiere ich mit dem Erstellen von benutzerdefinierten Klassen und dann mit ihren Funktionen, aber ich kann nicht einmal die einfachsten Dinge tun.Benutzerdefinierte Klasse Funktion funktioniert nicht auf Szene
Dies ist meine kundenspezifische Klasse:
import SpriteKit
class BlockScene: SKScene {
func createBlock(){
print("Block Created")
}
}
Dies ist der Code in meinem MainScene
import SpriteKit
class GameScene: SKScene {
let variable = BlockScene(fileNamed: "Block")
override func didMoveToView(view: SKView) {
variable?.createBlock()
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
}
Wenn die Hauptszene geladen ist es nicht meine Funktion createBlock execute(). Was mache ich hier falsch?
Bist Du sicher, dass die didMoveToView Funktion ist gerufen werden? – Carter
Ja, ich bin, weil ich eine print() in der didMoveToView-Funktion ausprobiert und es auf der Konsole ausgedruckt hat @Carter – Charles
@Charles Die Sache ist, dass Sie in die falsche Richtung gehen. Um ein Sprite zu erstellen, müssen Sie nur eine Instanzmethode für eine aktuelle Szene oder sogar eine statische Methode auf dem GameScene erstellen, die ein neues Sprite erstellt und zurückgibt. Diese Variable namens * variable * wird nicht benötigt, wenn sie nur dazu dient, eine Methode zur Verfügung zu stellen, die ein bestimmtes Sprite erzeugt. – Whirlwind