Ich habe mit dem Sprite-Kit-Spiel in iOS begonnen und möchte herausfinden, wie ich feststellen kann, ob es zu einer Kollision gekommen ist, als der Ball in den Reifen kam. Erkenne, ob zwischen 2 Objekten eine Kollision aufgetreten ist
Um die Dinge leichter zu verstehen. An meinem Basketballkorb habe ich 2 Ecken (sie sind rot und leicht zu sehen, sie stehen hervor), sie haben eine Kollision mit ihnen und wenn der Ball sie trifft, wird sie gekippt.
Meine Frage: Ich möchte bemerkt werden, wenn der Ball eine der Ecken trifft oder wenn der Ball in den Ring eindringt, ohne eine der beiden Ecken zu treffen. (Wie eine Art und Weise normal zu punkten unterscheiden perfekt wirft wirft)
AKTUALISIERT:
Wie stelle ich eine Fahne, um die Ecken? Können Sie auf die Funktionen hinweisen, die ich verwenden muss?
Ich habe einen Knoten, der mich benachrichtigt, wenn der Ball in den Reifen, es ist die Stahlstange in der Mitte des Reifens, wenn es kollidiert, fügt es meine Punktzahl.
func didBegin(_ contact: SKPhysicsContact)
{
// check for the ball contacting the scoreZone (scoreZone is the steel bar)
guard let ballBody = ball.physicsBody, let scoreBody = score_zone.physicsBody else {
return
}
// it doesn't matter who touches who, so just use array "contains" to handle both cases
let bodies = [contact.bodyA, contact.bodyB]
if bodies.contains(ballBody) && bodies.contains(scoreBody) && should_detect_score {
// add score
add_score()
}
}
Können Sie Ihren aktuellen Kollisionserkennungscode posten? – nathan