似乎从纹理图集中提取纹理时,我现在正在生成新纹理,而不是在iOS 10中使用相同纹理跨越不同的精灵.在iOS 9上,这可以按预期工作.还有其他人遇到过这个问题吗?也许有一个我错过的步骤,现在是iOS 10的一部分.
注意:我创建了一个示例项目并创建了一个新的图集,然后在@ 1x中拖动了太空船,我也尝试了预加载,这也没有做任何事情.
码:
let atlas = SKTexturAtlas(named:"Sprites") var texture = atlas.textureNamed("Spaceship") print("\(Unmanaged.passUnretained(texture)),\(Unmanaged.passUnretained(texture).toOpaque())") texture = atlas.textureNamed("Spaceship") print("\(Unmanaged.passUnretained(texture)),\(Unmanaged.passUnretained(texture).toOpaque())")
编辑:为了解决比较问题,我使用description属性来比较2个纹理是否相等.为了使其工作,你不能使用2个地图集,每个地图集包含具有确切名称和大小的纹理.我永远不会遇到这种情况,但对于那里寻求帮助的人来说,请记住这一点.