Pergunta

Se 2 objetos acertar uns aos outros, um GameOver camada deve aparecer, mas ele deve ser transparente.Isso significa que, todo o Jogo de Cena deve mostrar, com uma transparente GameOver e a Pontuação etc.Eu posso config.a Cena por mim, mas eu não sei como adiciona-lo no meu MyScene.h.

O código para os 2 objetos de colisão :

 - (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
}

}

Foi útil?

Solução

@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];
}

ajustar a escala y, x escala e alfa de acordo com sua preferência de acordo.

Outro remédio:Criar uma imagem com qualquer software de edição de imagem (gimp, etc) com fundo alfa e adicioná-lo para a cena

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top