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)
我有这个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)