精灵工具包中的UIImageView

时间:2014-04-28 16:29:57

标签: ios objective-c sprite-kit

我正在尝试在Sprite Kit中按下暂停按钮时创建暂停菜单。这是我通过创建UIImageView。问题是没有显示UIImageView。我怎样才能做到这一点?

-(void)didMoveToView:(SKView *)view
{

    UIButton *pauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
    [pauseButton setImage:[UIImage imageNamed:@"pause"] forState:UIControlStateNormal];
    [pauseButton addTarget:self action:@selector(pausedMenu:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:pauseButton];

}




-(void)pausedMenu:(SKView *)view
{

    SKSpriteNode *menu = [SKSpriteNode spriteNodeWithImageNamed:@"pausemenu"];
    //menu size is already image size (by default), no need to set it
    menu.position = CGPointMake((self.size.width - menu.size.width) * 0.5,
                            (self.size.height - menu.size.height) * 0.5);
    [self addChild:menu];
    self.scene.paused = YES;
    self.scene.view.paused = YES;


}

2 个答案:

答案 0 :(得分:4)

仅使用SpriteKit,为什么要使用UIImages?

SKSpriteNode *menu = [SKSpriteNode spriteNodeWithImageNamed:@"pausemenu"];
//menu size is already image size (by default), no need to set it
menu.position = CGPointMake((self.size.width - menu.size.width) * 0.5,
                            (self.size.height - menu.size.height) * 0.5);
[self addChild:menu];
self.scene.paused = YES;
self.scene.view.paused = YES;

答案 1 :(得分:1)

如果你真的想要这样做,你可以调用你所有的UIImageView内容,

-(void) didMoveToView:(SKView *)view {} 

然后,当您想要调用pausedMenu项目时,您必须创建一个新场景,以便didMoveToView:被触发。特定于暂停菜单的场景。