[英]SpriteKit GameOverlay
如果2個對象相互碰撞,則應顯示GameOver圖層,但該圖層應該是透明的。 這意味着應該顯示整個游戲場景,並帶有透明的GameOver和Score等。我可以配置。 我自己創建場景,但是我不知道如何在MyScene.h中添加它。
2個對象碰撞的代碼:
- (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
}
}
@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];
}
根據您的喜好調整y比例,x比例和alpha。
另一補救措施:使用任何具有alpha背景的圖像編輯軟件(gimp等)創建圖像並將其添加到場景中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.