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:

imgur

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;

¿Fue útil?

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
scroll top