2016-12-15 7 views
0

Ich habe zwei SKSpriteNodes, sagen wir mal einen Baseballschläger und einen anderen einen Ball. Beide haben Physikkörper, und die Kollision funktioniert gut oder zumindest entdeckt. Ich habe eine SKAction, die den Schläger schwingt und mit dem Ball kollidiert. Wenn das passiert, beginnen beide sich zu bewegen. Ich möchte, dass der Ball weg fliegt und die Fledermaus an Ort und Stelle bleibt. Wie kann ich das erreichen? Vielen Dank!Wie verhindere ich, dass sich SKSpriteNode mit physicsBody bewegt, wenn er mit anderen Sprites kollidiert?

Antwort

2

Versuchen Sie, die bat.physicsBody.dynamic = false machen, oder machen es so, dass Schläger nicht mit Ball kollidiert (aber halten Ball mit Schläger kollidieren), dh Fledermaus collisionBitMask enthält keine Ball categoryBitMask:

bat.physicsBody?.collisionBitMask &= ~ballCategory // bat does not collide with ball 

Sie werden zu tun haben, etwas Tricks, wenn du willst, dass die Fledermaus aufhört, wenn sie den Ball trifft (zB einen Kontakt zwischen den beiden herstellen und wenn sie sich berühren, entferne die Aktion auf der Fledermaus und/oder setze die Fledermausgeschwindigkeit auf 0).

0

Ok, anscheinend ist es sehr einfach - es gibt eine pinned Eigenschaft auf dem SKPhysicsBody, und ich musste es nur auf true setzen.

Dokumentation heißt es: A Boolean value that indicates whether the physics body’s node is pinned to its parent node. The default value is false. If true, the node’s position is fixed relative to its parent. The node’s position cannot be changed by actions or physics forces. The node can freely rotate around its position in response to collisions or other forces. If the parent node has a physics body, the two physics bodies are treated as if they are connected with a pin joint.

+0

So wird der Schläger bewegt realisticly das heißt, wie es an einem Ende und schwang gehalten wird? –

+0

Ja, das einzige Ding ist, dass es standardmäßig am Mittelpunkt fixiert wird. Sie müssten also Ihren Ankerpunkt und den Körper des Physikkörpers anpassen. – almas

Verwandte Themen