我有2个IBAction - 开始游戏,重播我正在研究的IOS游戏。 ViewDidLoad
加载了很多隐藏的内容。开始游戏会显示ball.hidden = NO;
和其他内容,以及NSTimer
开始和下移等。当用户在游戏中死亡时,gameoverscreen.hidden = NO;
并且它有几个按钮来吧。我添加了一个重播按钮,我为它做了一个新的插座。我尝试开始IBAction
并在重播IBAction
中重写相同的代码,但它会自动返回到游戏结束屏幕。我还尝试在重播gameoverscreen.hidden = YES;
中再次写出IBAction
,但它仍然会这样做。这些冲突有些怎么样?任何原因,为什么会发生这种情况。有没有办法重新加载一个屏幕....即,当在游戏画面点击重播时,我可以写一些代码来重新加载我的屏幕?
-(IBAction)startGame:(id)sender
{
start.hidden = YES; //hides button
stimage.hidden = YES; //hides image
upMovement = 4;
movement = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(moving) userInfo:nil repeats:YES];
//when we start game, start timer to run method every 0.05 seconds
platform1.hidden = NO;
platform2.hidden = NO;
ball1.hidden = NO;
ball2.hidden = NO;
advertisement.hidden = YES;
//1
RandomPosition = arc4random()%248; //48 different possibilities the random number generator can generate
RandomPosition = RandomPosition + 36; //generate a value between 36 and 284 try 30
platform1.center = CGPointMake(RandomPosition, 530);
}
答案 0 :(得分:0)
你应该能够简单地跑步 [self viewDidLoad]; 这应该再次运行ViewDidLoad函数。如果您使用“startGame”开始整个游戏,请运行: [self startGame:(yourSendingButton)];
答案 1 :(得分:0)
很难说从提供的代码中发生了什么。因此,我只能做出一个疯狂的猜测:
我假设重播按钮实际执行了IBAction
,并且您的gameover
视图确实已隐藏,但再次“自动”显示。
我的猜测是你的方法moving
是由计时器重复调用的。可能是这种方法认识到使用过程已经死亡,并且再次可以看到游戏过程
那么,你是否正确地重置了用户的生活状态,并且你是否停止了计时器?