SpriteKit - Class 继承

SpriteKit - Class inheritance

我有这个classEnemy.swift:

class Enemy: SKNode {

    var health = Int()
    var enemyPosition = CGPoint()
    var enemy = SKSpriteNode()
    var enemyName = String()

    func moveEnemy() {

              //Some Code
    }
}

我在 GameScene.swift 中使用它:

func createEnemy() {

        var monster = Enemy()
        var node = SKSpriteNode(imageNamed: "Enemy-Sprite1")
        monster.guy = node
        monster.health = 4
        monster.enemyPosition = CGPointMake(10 ,  400)
        monster.guyName = "enemy1"
        monster.moveEnemy()
        self.addChild(monster)  
    }

但它不起作用,它根本没有出现在屏幕上,是的,我确实在 "didMoveToView" 中调用了它。我究竟做错了什么 ?

您可以子类化 SKSpriteNode 而不是 SKNode

class Enemy : SKSpriteNode
{
    var health : Int = 0
    var enemyName : String = ""

    func moveEnemy() {

    }
}

然后像这样使用它

var monster = Enemy(imageNamed: "Enemy-Sprite1")
monster.position = CGPointMake(10 ,  400)
monster.enemyName = "enemy1"
monster.health = 4
self.addChild(monster)