Iphone SpriteKit视图
在我的SpriteKit场景中,我有一个pauseView,它在场景上方显示一个UIView,在UIView上我在IB中创建了一个按钮来移除视图,但是当视图消失时,为了继续游戏,用户必须再次点击暂停按钮。有没有一种方法可以消除这种观点,重新开始游戏 用于显示子视图的暂停游戏方法:Iphone SpriteKit视图,iphone,uiview,sprite-kit,Iphone,Uiview,Sprite Kit,在我的SpriteKit场景中,我有一个pauseView,它在场景上方显示一个UIView,在UIView上我在IB中创建了一个按钮来移除视图,但是当视图消失时,为了继续游戏,用户必须再次点击暂停按钮。有没有一种方法可以消除这种观点,重新开始游戏 用于显示子视图的暂停游戏方法: -(void)pauseGame { if (self.gameIsPaused == NO) { [self.view addSubview:pauseView]; self
-(void)pauseGame {
if (self.gameIsPaused == NO) {
[self.view addSubview:pauseView];
self.gameIsPaused = YES;
self.scene.view.paused = YES;
} else {
self.gameIsPaused = NO;
self.scene.view.paused = NO;
}
}
在暂停层:
- (IBAction)resume:(id)sender {
[gameScene pauseGame];
[self removeFromSuperview];
}
我认为应该是
[sender removeFromSuperview]代码>,而不是self
。假设“pause layer”是SKNode的子类,而不是UIView子类
如果不是这样,请检查是否添加了两次暂停按钮。Ie可能是IB中的意外复制和粘贴。暂停层(UIView的子类)被正确地解除,但游戏场景在我关闭暂停层后仍保持暂停状态,直到我再次点击暂停。我在pause方法中设置了一个断点,并且在发送“[GameSecene pauseGame]”时,似乎没有调用该断点method.GameSecene可能为零。经过大量的修改,我已经设法让GameSecene调用暂停方法,但问题是在出于某种原因关闭暂停层并重置self.gamespaused
值和其他值后,游戏场景正在重新初始化。有没有一种方法可以让我保持对游戏场景的强烈引用,这样它就可以用正确的值正确地恢复?