快速致命错误:使用未实现的初始值设定项'init(texture:color:size)'



我有一个名为Entity.swift:

的Swift文件
import Foundation
import SpriteKit
import UIKit
class Entity: SKSpriteNode { // possibly turn this into a protocol
    init(imageNamed: String) {
        alive = true
        health = 1
        SKSpriteNode(imageNamed: imageNamed)
        super.init()
    }
    var alive:Bool {
        didSet {
            if !alive {
                self.removeFromParent()
            }
        }
    }
    var health:Int {
        didSet {
            if health == 0 {
                alive = false
            }
        }
    }
    func modifyHealth(n: Int) {
        health += n
    }
    func getHealth() -> Int {
        return health
    }
    func setHealth(h: Int) {
        health = h
    }
    func isAlive() -> Bool {
        return alive
    }
    func setAlive(a: Bool) {
        alive = a
    }
}

这意味着是一个超类,其他类可以实现,如敌人或玩家。我认为这是一个协议,因为没有实体的实例,但我希望能够在实体中有方法。class Entity: SKSpriteNode {: Thread 1: EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP,subcode=0x0)

错误还显示:spritekit_game_test/Entity.swift: 13: 7: fatal error: use of unimplemented initializer 'init(texture:color:size:)' for class 'spritekit_game_test.Entity'

对于这些错误意味着什么以及如何修复它们有什么建议吗?

当实体类只接受imageNamed: String

时,看起来你正在发送纹理/颜色/大小属性给实体的init

请张贴/重新检查您的代码调用/创建您的实体类

最新更新