gpt4 book ai didi

iphone - 如何为iPhone游戏制作暂停菜单?

转载 作者:行者123 更新时间:2023-12-03 20:55:16 25 4
gpt4 key购买 nike

我想知道哪种方法是制作游戏暂停菜单最简单或“最智能”的方法?

我在创建游戏暂停菜单方面没有太多经验,所以我尝试了我自己想出的两种方法。两者或在此文本下方的代码中。

我尝试的第一个方法是在游戏顶部放置一个几乎透明的黑色滤镜,然后我暂停了。我成功地暂停了所有内容,除了在我的 uiimages 过滤器下方进行的触摸之外。我认为将一个新的 uiimage 放在当前的 uiimage 之上会禁用对其下方的 uiimage 进行的触摸。我也尝试过 touchenabled = NO 但仍然没有任何结果。

-(IBAction)pause{

NSLog(@"pause");

[countdowntimer invalidate];

[self.rubin1 stopAnimating];
[self.rubin2 stopAnimating];
[self.rubin3 stopAnimating];

Pause.enabled = NO;
music1.enabled = NO;
music2.enabled = NO;
sfx1.enabled = NO;
sfx2.enabled = NO;

//PauseMenu background
UIImage *image1 = [UIImage imageNamed: @"filter2.png"];
pausefilter = [[[UIImageView alloc] initWithImage:image1] autorelease];
CGRect newFrame1 = pausefilter.frame;
newFrame1 = CGRectMake(0,0, image1.size.width, image1.size.height);
pausefilter.frame = newFrame1;

[self.view addSubview:pausefilter];

[image1 release];

//Resume to Game
button1 = [UIButton buttonWithType:UIButtonTypeCustom];
button1.frame = CGRectMake(90, 146, 80, 18);
[button1 setImage:[UIImage imageNamed:@"RESUME.png"] forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(resume) forControlEvents:UIControlEventTouchUpInside];
[ self.view addSubview: button1 ];

//End Game
button2 = [UIButton buttonWithType:UIButtonTypeCustom];
button2.frame = CGRectMake(260, 140, 180, 30);
[button2 setImage:[UIImage imageNamed:@"EndGame.png"] forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(end) forControlEvents:UIControlEventTouchUpInside];
[ self.view addSubview: button2 ];

[sharedSoundManager pausePlayingMusic];

}

我尝试的第二种方法是返回(切换 View )主菜单上的选项以使用那里的设置,但我无法恢复到暂停游戏的位置。相反,游戏从头开始。

-(IBAction)pause{

NSLog(@"pause");

[countdowntimer invalidate];

[self.rubin1 stopAnimating];
[self.rubin2 stopAnimating];
[self.rubin3 stopAnimating];

Pause.enabled = NO;
music1.enabled = NO;
music2.enabled = NO;
sfx1.enabled = NO;
sfx2.enabled = NO;

menureturn = [[MainMenu alloc] initWithNibName:@"MainMenu" bundle: nil];
menureturn.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:menureturn animated: YES];

self.menureturn.Start.hidden = YES;
self.menureturn.option.hidden = YES;
self.menureturn.OptionsHeadtitle.hidden = NO;
self.menureturn.HowToPlayHeadtitle.hidden = YES;
self.menureturn.howtoplay.hidden = YES;
self.menureturn.filter.hidden = NO;
self.menureturn.music1.hidden = NO;
self.menureturn.music2.hidden = YES;
self.menureturn.SFXimage.hidden = NO;
self.menureturn.Musicimage.hidden = NO;
self.menureturn.sfx1.hidden = NO;
self.menureturn.sfx2.hidden = YES;
self.menureturn.credits.hidden = YES;
self.menureturn.back.hidden = YES;
self.menureturn.creditsinfo.hidden = YES;
self.menureturn.resume.hidden = NO;
self.menureturn.endgame.hidden = NO;

[sharedSoundManager pausePlayingMusic];

}

是否有第三种选择,如何制作上帝暂停菜单,或者只是重做我已经尝试过的两个选项之一?

最佳答案

你可以有一个 BOOL 变量,例如

BOOL isGamePaused

现在,当您正在玩游戏时,即运行而不暂停分配

isGamePaused = NO;

当你暂停时

isGamePaused = YES;

现在,在播放动画或类似的东西时,您可以使用类似的条件

if(!isGamePaused) { ProceedAnimation;}

希望这有帮助

关于iphone - 如何为iPhone游戏制作暂停菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5645354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com