Pregunta

Si 2 objetos se golpean entre sí, debe aparecer una capa de GameOver, pero debe ser transparente.Eso significa que la escena del juego debe estar mostrando, con un juego transparente y la puntuación, etc. Puedo configurar.La escena por mí mismo, pero no sé cómo agregarlo en mi MyScene.H.

El código para la colisión de 2 objetos:

 - (void)didBeginContact:(SKPhysicsContact *)contact

{ Skphysicsbody * Firstbody, * Secondbody;

if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask)
{
    firstBody = contact.bodyA;
    secondBody = contact.bodyB;
}
else
{
    firstBody = contact.bodyB;
    secondBody = contact.bodyA;
}

if ((firstBody.categoryBitMask & StoneCategory) != 0 &&
    (secondBody.categoryBitMask & HumanCategory) != 0)
{
    // Here should be some code
}

}

¿Fue útil?

Solución

@interface yourScene()
@property (strong, nonatomic) SKSpriteNode *scoreMenu;
@end

...

if ((firstBody.categoryBitMask & StoneCategory) != 0 &&
(secondBody.categoryBitMask & HumanCategory) != 0)
{
    self.scoreMenu = [SKSpriteNode spriteNodeWithImageNamed:@"ScoreMenuPicture.png"];
    self.scoreMenu.position = CGPointMake(CGRectGetMidX(self.frame),     CGRectGetMidY(self.frame));
    self.scoreMenu.name = @"scoreMenu";
    self.scoreMenu.yScale = 0.7;
    self.scoreMenu.xScale = 0.5;
    self.scoreMenu.alpha = 0.7;
    [self addChild:self.scoreMenu];
}

Ajuste la escala Y, X escala y alfa a su preferencia en consecuencia.

Otro remedio: Cree una imagen con cualquier software de edición de imágenes (GIMP, etc.) con fondo alfa y agréguelo a la escena

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top