我有上面提到的错误,对于下面评论的两行,使用等号工作,但是当我使用'> =' sign ...错误继续显示。我的暂停功能不是错误,我用等号测试了它,所以请你告诉我要修复什么。谢谢!
func addScore(playerWhoWon : SKSpriteNode){
ball.position = CGPoint(x: 0, y: 0)
ball.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
if playerWhoWon == main {
score[0] >= 10 // THAT"S WHERE I GET MY ERROR
pauseGame()
ball.physicsBody?.applyImpulse(CGVector(dx: 10, dy: 10))
}
else if playerWhoWon == enemy {
score[1] >= 10 // SECOND LINE WHERE I GET MY ERROR
pauseGame()
ball.physicsBody?.applyImpulse(CGVector(dx: -10, dy: -10))
}
topLbl.text = "\(score[1])"
btmLbl.text = "\(score[0])"
}
答案 0 :(得分:3)
根据您的previous question,您应该做的是创建if
声明:
if score[0] >= 10 {
pauseGame()
}
我也强烈建议你花很多时间阅读Apple的Swift Programming Language书。
答案 1 :(得分:2)
使用等号(=
)表示赋值。当您说:score[0] = 10
时,表示您将10
分配给数组score
的第一个元素。这就是它运作的原因。
使用大于或等号(>=
)表示比较,因此它会返回一个布尔值作为比较结果。你没有做任何事情,所以这就是你得到警告的原因。
当您使用返回结果并且不想使用该结果的内容时,您可以使用:
_ = score[0] >= 10
你肯定不应该在你的情况下这样做,正如@rmaddy所提到的,你应该使用if
声明来解决你的问题。