Tag: skscene

奇怪的EXC_BAD_ACCESS SpriteKit removeSubsprite崩溃

我是SpriteKit ,刚刚开发了我的第一款游戏。 一切都很好,直到iOS 7.1。 现在,经过几次提升到一个新的水平,呈现一个新的Scene ,它崩溃。 我不认为我是以不正确的方式呈现它: ZSSMyScene *nextLevel = [[ZSSMyScene alloc] initWithSize:self.size level:self.level score:score]; [self.view presentScene:nextLevel]; 我得到了一个EXC_BAD_ACCESS错误,它看起来像是在removeSubsprite上发生的,但我找不到我的代码中的任何地方,我将删除一个subsprite: 不知道还有什么其他的信息,因为这只是一个模糊的错误,似乎开始当我更新到iOS 7.1 SDK。

应用程序变为活动状态时如何保持SpriteKit场景暂停?

有没有办法阻止SpriteKit在进入前景/活动时自动取消暂停场景? 我设置了paused = true并希望它保持如此,即使应用程序被发送到后台后再次激活。 我应该补充一点,我很快就做到了,尽pipe我不希望在这方面的行为有所不同。

从SKScene返回查看控制器

所以当你使用SpriteKit模板创build一个项目时。 你有你的视图控制器和你的SKScene。 从我的视图控制器我开始我的游戏默认给出的代码,并呈现场景。 在我的TCAViewcontroller.m – (IBAction)startGame:(id)sender { NSLog(@"Start Game triggered"); mainPageImage.hidden = 1; // Configure the view. // Configure the view after it has been sized for the correct orientation. SKView *skView = (SKView *)self.view; if (!skView.scene) { skView.showsFPS = YES; skView.showsNodeCount = YES; // Create and configure the scene. TCAMyScene *theScene = [TCAMyScene sceneWithSize:skView.bounds.size]; […]

如何解散SKScene?

当我完成我的SKScene是否有一种方法来解散我的SKScene类SKScene? 如果没有在我的ViewController中显示我的SKScene [skView presentScene:theScene]; 有没有办法重新启动现场或删除从我的SKView? SKScene类参考和SKView类参考没有帮助。 更新: 下面的代码从我的SKView中删除我的场景[yourSKView presentScene:nil]; 但是当我回到我的视图控制器时,场景仍然在后台运行。 当游戏结束时,我总是可以暂停它,然后我回到我的视图控制器(菜单),但我想知道是否有另一种方法,然后像彻底删除它一样暂停它? -(void)endTheGame { [highscoreLabel removeFromSuperview]; NSLog(@"Game Over"); //would like to end here before calling the below method in my view controller [self.delegate mySceneDidFinish:self]; }

如何在GameScene中从ViewController中调用方法

我有一个方法,在我的viewController中有一个自定义的segue,看起来像这样: func gameOver() { performSegueWithIdentifier("GameOver", sender: nil) } 我在GameScene.swift中调用方法如下: GameViewController().gameOver() 我仔细检查了赛格的名字,这是正确的。 每当我在我的GameScene.swift文件中调用此函数,我都会收到SIGABRT消息,我不知道为什么。 我试着只用println()消息调用函数,它工作。 任何意见,为什么发生这种情况,以及如何成功地调用GameScene.swift文件中的方法将不胜感激。 谢谢! PS这里是崩溃日志: 2015-01-28 21:59:46.181 RunawaySquare[95616:3907041] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<RunawaySquare.GameViewController: 0x7fe4305c7890>) has no segue with identifier 'GameEnd'' *** First throw call stack: ( 0 CoreFoundation 0x000000010d461f35 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010f39ebb7 objc_exception_throw + 45 […]

如何通过代码从SKScene到UIViewController?

我想要的只是当用户触摸skscene中的skspritenode时,它会转到不同的视图,如performseguewithidentifier 。 谢谢你的帮助。 我可以发布代码,但它似乎是一个通用的问题,所以我觉得你不需要任何。 顺便说一下,我已经想出了如何检测敲击skspritenode。 我一直在看这个很长时间,我很难过。 请帮忙。

什么是处理多个SKScenes的最好方法?

我使用默认的新游戏项目做了一个游戏,然后插入一个普通的UIView作为应用程序的介绍场景。 因为使用SKScene将intro“升级”了起来,使用button将原始的gameViewController放到堆栈上。 一旦游戏视图被加载,似乎有点迟缓,所以我假设这是与2完整的skscenes和视图控制器的开销。 我甚至设置了着陆场景暂停,但显然仍然使用内存! 我的问题是,如何使用SKScene作为着陆页(使用它自己的LandingViewController),然后有效地将GameViewController添加到堆栈中。 我试着合并2个视图控制器,但这似乎是一个愚蠢的做事方式。 当前设置: LandingViewController |-LandingScene GameViewController |- GameViewScene |- Other Game Classes 应用程序进入LandingScene(和着陆UI精灵)的LandingViewController。 LandingViewController处理触摸事件,如button等。当新游戏被轻敲时,GameViewController被推送(当前使用Segue)和GameViewController进入场景,游戏状态,UI,游戏板等。GameViewController处理触摸事件的场景。 当游戏结束时(点击结束游戏或游戏结束状态),GameViewControllerpopup。 LandingViewController和GameViewController控制他们的animation和点击stream等,所以GameViewController做游戏逻辑,像下一个转弯结束游戏等。任何帮助或指针将不胜感激,因为我想这样做的权利!