Ich habe Probleme mit meiner Animation in Swift. Die Animation spielt nicht.SpriteKit Animation Problem Swift
Das sind meine swift Dateien:
Das ist mein Sprit-Datei:
import Foundation
import SpriteKit
class Dog: SKSpriteNode {
var dog = SKSpriteNode()
var textureAtlas = SKTextureAtlas()
var textureArray = [SKTexture]()
init() {
super.init(texture: SKTexture(imageNamed:"dog_1"), color: UIColor.clear, size: CGSize(width: 44, height: 25))
textureAtlas = SKTextureAtlas(named: "dog")
for i in 1...textureAtlas.textureNames.count {
let name = "dog_\(i).png"
textureArray.append(SKTexture(imageNamed: name))
}
}
func animate() {
dog.run(SKAction.repeatForever(SKAction.animate(with: textureArray, timePerFrame: 0.1)))
}
func stopAnimation() {
dog.removeAllActions()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Das ist meine GameScene Datei:
import SpriteKit
import GameplayKit
class GameScene: SKScene {
var dog: Dog!
override func didMove(to view: SKView) {
scene?.backgroundColor = UIColor(red: 132.0/255.0, green: 179.0/255.0, blue: 255.0/255.0, alpha: 1.0)
addDog()
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
dog.animate()
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
dog.stopAnimation()
}
func addDog() {
dog = Dog()
dog.position = CGPoint(x: frame.size.width/2, y: frame.size.height/2)
addChild(dog)
}
}
denke ich, das Problem in der belebten Funktion ist in die Sprite-Datei.
Ich habe alles versucht, was mir einfällt. Jede Hilfe würde sehr geschätzt werden.
Prüfen, ob die for-Schleife gerade ausgeführt wird. Setzen Sie einen Haltepunkt darin ... Entfernen Sie auch die .png Verlängerung vom Bildnamen - 'let name =" Hund _ \ (i) "' – Whirlwind