IOS Sprite Kit DidbeginContatto non funziona correttamente
-
20-12-2019 - |
Domanda
Ho 2 immagini senza sfondo con triangoli, voglio connettere un triangolo con un altro, ma kit sprite pensando che le mie immagini sono quadrate non un triangolo, e chiamami DidbeginContact non in tempo giusto, ad esempio:
Creo il mio sprite come questo:
self.sprite = [SKSpriteNode spriteNodeWithImageNamed:spriteName];
[self.sprite setSize:CGSizeMake(40, 40)];
self.sprite.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.sprite.size];
self.sprite.physicsBody.mass = 0;
self.sprite.physicsBody.usesPreciseCollisionDetection = YES;
self.sprite.physicsBody.categoryBitMask = Category;
self.sprite.physicsBody.collisionBitMask = 0;
self.sprite.physicsBody.contactTestBitMask = Category;
self.sprite.physicsBody.dynamic = YES;
. Soluzione
Contatti tra due corpi dipendono dal loro corpo fisico, non alla loro consistenza.Quindi, quando usi
self.sprite.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.sprite.size];
.
Stai attaccando un corpo fisico rettangolare.
È necessario creare un corpo di fisica triangolare utilizzando il metodo:
[SKPhysicsBody bodyWithPolygonFromPath:path];
.
Leggere sul metodo qui .
Per ottenere i valori per la creazione di un percorso, è possibile utilizzare Generatore del percorso SkphysicsBodyBy . .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow