如果bodyAA的纹理命名为" playerpc"我试图检查碰撞。如果是,我想做一个动作,但我无法弄清楚如何检查。
我正在使用的代码:
var testnode = SKSpriteNode(imageNamed: "playerpc")
print(testnode.texture)
if bodyAA.texture == testnode.texture{
print("Yes the same")
}
else{
print(bodyAA.texture)
}
这是控制台的结果:
Optional(<SKTexture> 'playerpc' (153 x 274))
Optional(<SKTexture> 'playerpc' (153 x 274))
所以它应该是一样的!但是当它比较时,我的代码决定它不一样,我该如何解决这个问题?
答案 0 :(得分:3)
texture
是可选的SKTexture
。所以要比较你应该解开它,并根据这样的描述检查:
if bodyAA.texture!.description == testnode.texture!.description{
print("Yes the same")
}
else{
print(bodyAA.texture)
}