Ios 精灵套件中的UIImageView
我试图创建一个暂停菜单时,暂停按钮是按下精灵套件。这是通过创建UIImageView来实现的。问题在于未显示UIImageView。我该怎么做Ios 精灵套件中的UIImageView,ios,objective-c,sprite-kit,Ios,Objective C,Sprite Kit,我试图创建一个暂停菜单时,暂停按钮是按下精灵套件。这是通过创建UIImageView来实现的。问题在于未显示UIImageView。我该怎么做 -(void)didMoveToView:(SKView *)view { UIButton *pauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; [pauseButton setImage:[UIImage imageNamed:@"paus
-(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;
}
仅使用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;
如果你真的想这样做,你可以把你所有的UIImageView内容从
-(void) didMoveToView:(SKView *)view {}
然后,当您想要调用pausedMenu项时,您必须创建一个新场景,以便触发
didMoveToView:
。特定于暂停菜单的场景。为什么不使用SKSpriteNode而不是UIImage?如果我删除self.scene.paused=YES,则该场景有效;self.scene.view.paused=是;但我也需要暂停背景游戏/场景。@user3423384已编辑。放在后面。我在问题中添加了我的代码。我的操作与您所说的一模一样,如果删除暂停代码,将显示SKSpriteNode,但不会显示暂停代码。@user3423384如果删除self.scene.paused=YES;,但是left self.scene.view.paused=是@user3423384很高兴为您提供帮助!我已经在didMoveToView中创建了一个按钮,当单击它时,它将触发pausedMenu,并且应该显示菜单(imageView)并暂停场景