iOS Sprite Kit Didbegincontact no funciona correctamente
-
20-12-2019 - |
Pregunta
Tengo 2 imágenes sin fondo con triángulos, quiero conectar un triángulo con otro, pero el kit de sprite pensaba que mis imágenes son cuadradas, no un triángulo, y me llamas, no en el momento adecuado, por ejemplo:
creo mi sprite como este:
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;
Solución
Contactos entre dos cuerpos dependen de su cuerpo de física, no su textura.Entonces, cuando usas
self.sprite.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.sprite.size];
estás adjuntando un cuerpo de física rectangular.
Necesitas crear un cuerpo de física triangular usando el método:
[SKPhysicsBody bodyWithPolygonFromPath:path];
LEER EN EL MÉTODO aquí .
Para obtener los valores para crear una ruta, puede usar el skphysics girl generador de ruta Herramienta.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow