Spritekit Gameoverlay
-
21-12-2019 - |
質問
2個のオブジェクトが互いにヒットした場合、ゲームオーバーレイヤーが表示されますが、透明になるはずです。つまり、ゲームシーン全体が透明なゲームオーバとスコアなどで表示されるべきです。 設定できます。私自身によるシーンですが、私は私のMyScene.hに追加する方法がわかりません。
2オブジェクトのコードのコード:
- (void)didBeginContact:(SKPhysicsContact *)contact
.
{ SkphysicsBody * FirstBody、*セカンドボディ;
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スケール、アルファを調整します。
もう1つの救済策: アルファバックグラウンドで任意の画像編集ソフトウェア(GIMPなど)で画像を作成し、シーンに追加する
所属していません StackOverflow