【发布时间】:2015-07-28 19:07:32
【问题描述】:
我今天遇到了一个非常奇怪的错误。这段代码被精简到最低限度,但应该足够了:
class Sprite: SKSpriteNode {
func setup(pos: CGPoint) {}
}
class Enemy: Sprite {
func setup(health: Int) {}
}
敌人类中的行会导致错误。奇怪的是,我找到了几个修复程序,但我不知道他们为什么要修复它。
第一个修复:不要让 Sprite 继承 SpriteKit 类。删除它或将 SKSpriteNode 更改为随机的东西,如 NSEvent 修复错误。
其次:将pos:的参数类型改成我自己定义的类或者添加更多参数。
最后:更改参数类型 health: 为我自己定义的类或添加更多参数。将类型更改为 String、CGSize 或类似的东西并不能解决错误。
在我当前的代码中,Enemy.setup 接受的参数不仅仅是健康,所以这不是一个真正的问题,但我很好奇导致错误的原因以及为什么添加更多参数或更改 Sprite 的父类修复它。
【问题讨论】:
标签: swift sprite-kit core-graphics skspritenode