SpriteKit - 类继承
问题描述:
我有这个类Enemy.swift:SpriteKit - 类继承
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)
+1
是的,这是完美的。我不想用无用的东西(init函数或编码器,解码器)来混淆我的代码。 – Abdou023 2015-02-24 17:51:36
是什么'enemyPosition'?你有没有设置“怪物位置”? – rakeshbs 2015-02-24 06:39:32
你把你的SKSpriteNode加入你的怪物节点吗?正如在monster.addChild(节点) – 2015-02-24 08:53:10
@rakeshbs是的,它不会改变任何东西。 – Abdou023 2015-02-24 09:33:52