【问题标题】:Implementing a pause button实现暂停按钮
【发布时间】:2014-04-28 08:44:37
【问题描述】:

我是精灵套件的新手。我正在尝试实现一个暂停按钮。我通过在场景中添加一个 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];

【问题讨论】:

    标签: ios objective-c sprite-kit


    【解决方案1】:

    我建议将暂停菜单创建为另一个 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];
    
    }
    

    【讨论】:

    • 我尝试添加一个 UIButton,但它似乎不起作用。视图中没有添加任何内容?
    • 你在代码中的什么时候将按钮添加到视图中?
    • 在我的场景中 initWithSize 方法的末尾
    • @akashg - 根据我的阅读,IUButton 在 SpriteKit 中似乎并不能很好地工作。使用精灵节点或标签可能是更好的解决方案。
    • 您也应该暂停 SKView。 self.scene.view.paused = YES;
    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多