实现暂停按钮

时间:2014-04-28 08:44:37

标签: ios objective-c sprite-kit

我是精灵套件的新手。我正在尝试实现一个暂停按钮。我通过在场景中添加一个spriteNode来完成这个。按下按钮时,我想要一个菜单​​进入屏幕中间。我怎样才能制作这样的方法?

我怎么知道按下暂停按钮?如何在屏幕中间打开一个小菜单?

目前我已经创建了一个SKSpriteNode,它是一个暂停按钮和一个包含暂停菜单的新场景。

准确地说,暂停菜单应该是游戏其余部分的前景。

我试过了:

UIButton *pauseButton = [[UIButton alloc] initWithFrame:CGRectMake(40/2, self.frame.size.height-40/2, 40, 40)];
[pauseButton setImage:[UIImage imageNamed:@"pause"] forState:UIControlStateNormal];
[pauseButton addTarget:self action:@selector(pauseMenu:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:pauseButton];

1 个答案:

答案 0 :(得分:0)

我建议将暂停菜单设置为另一个UIView,可以将其添加为当前SKView的子视图。

按下暂停按钮时,您可以拨打

self.scene.paused = YES;
self.scene.view.paused = YES;

编辑:不是在initWithSize:方法中添加暂停UIButton,而是将其添加到-didMoveToViewMethod中:

-(void)didMoveToView:(SKView *)view
{
    UIButton *pauseButton = [[UIButton alloc] initWithFrame:CGRectMake(40/2, self.frame.size.height-40/2, 40, 40)];
    [pauseButton setImage:[UIImage imageNamed:@"pause"] forState:UIControlStateNormal];
    [pauseButton addTarget:self action:@selector(pauseMenu:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:pauseButton];

}