我正在关注iOS应用的游戏教程。但是存在版本问题,因为本教程使用Xcode 8和swift 3制作。我使用Xcode 11和最新的swift版本。无论如何,我设法解决了我遇到的所有问题,所有人都接受了这个问题:
//setup sprites for animation
_Sprites.append(_Atlas.textureNamed("text"))
_Sprites.append(_Atlas.textureNamed("text"))
_Sprites.append(_Atlas.textureNamed("text"))
_Sprites.append(_Atlas.textureNamed("text"))
...
在这些代码行之后,所有代码都有相同的错误:无法将类型“ SKTexture”的值转换为预期的参数类型“ Int”
我不知道为什么,因为它显然想要一个字符串(用于精灵的名称),而且,当我尝试这样做时:
_Sprites.append(_Atlas.textureNamed(Int("text")))
...
它给了我这个错误:无法转换类型为'Int?'的值。到预期的参数类型'String'
有谁知道我为什么会有这个问题?
答案 0 :(得分:2)
看起来_Sprites
的类型为[Int]
,而不是[SKTexture]
。您正在尝试附加SKTexture
,并且错误提示:
无法将类型“ SKTexture”的值转换为预期的参数类型“ Int”
意味着Swift可以看到您正在尝试在期望SKTexture
的位置设置Int
。
这样更改代码(您的代码可能会略有不同):
_Sprites = [Int]()
收件人:
_Sprites = [SKTexture]()