gpt4 book ai didi

swift - didBeginContact 未调用 GameOver 场景。有什么需要补充的吗?

转载 作者:行者123 更新时间:2023-11-28 08:47:33 25 4
gpt4 key购买 nike

我的屏幕右侧有不同颜色的条,左侧随机生成的其他颜色相同的条与右侧的静态条相匹配。当匹配的颜色发生冲突时,它们会增加我的分数标签并完美地从场景中移除,但是当错误的颜色匹配时,什么也不会发生。我什至设置了一个 print("") 语句,但它没有被调用。这是我的 didBeginContact 代码:

func didBeginContact(contact: SKPhysicsContact) {

if let firstBody = ((contact.bodyA.categoryBitMask <= contact.bodyB.categoryBitMask) ? contact.bodyA.node : contact.bodyB.node) as! SKSpriteNode? {

if let secondBody = ((contact.bodyA.categoryBitMask <= contact.bodyB.categoryBitMask) ? contact.bodyB.node : contact.bodyA.node) as! SKSpriteNode? {

if firstBody.color == secondBody.color {
label.text = "\(points)"
points++

firstBody.removeFromParent()


}
if firstBody.color != secondBody.color {
gameEnd()
print("didn't match")

}
}
}

最佳答案

你的代码似乎是一团乱七八糟的东西,试一试:

       func didBeginContact(contact: SKPhysicsContact) {

if let firstBody = ((contact.bodyA.categoryBitMask <= contact.bodyB.categoryBitMask) ? contact.bodyA.node : contact.bodyB.node) as! SKSpriteNode?, secondBody = ((contact.bodyA.categoryBitMask <= contact.bodyB.categoryBitMask) ? contact.bodyB.node : contact.bodyA.node) as! SKSpriteNode? {

if firstBody.color == secondBody.color {
label.text = "\(points)"
points++
firstBody.removeFromParent()
}
else{
print("didn't match")
gameEnd()
}
}
}

关于swift - didBeginContact 未调用 GameOver 场景。有什么需要补充的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com