相关疑难解决方法(0)

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

我使用默认的新游戏项目制作了一个游戏,然后插入了一个普通的UIView作为app intro场景.我自从'升级'介绍到使用SKScene,其中的按钮将原始的gameViewController推入堆栈.一旦加载了游戏视图,它似乎有点滞后,所以我假设这与2个完整的skscenes和视图控制器的开销有关.我甚至将着陆场景设置为暂停,但它显然仍会使用内存!

我的问题是,我如何使用SKScene作为登陆页面(使用它自己的LandingViewController),然后有效地将GameViewController添加到堆栈中.我试过合并2个视图控制器,但这似乎是一种愚蠢的做事方式.

目前的设置:

LandingViewController
|-LandingScene

GameViewController
|- GameViewScene
|- Other Game Classes
Run Code Online (Sandbox Code Playgroud)

应用程序进入LandingViewController,它位于LandingScene(和登陆UI Sprites)中.LandingViewController处理触摸事件,如按钮等.当点击新游戏时,推动GameViewController(目前使用Segue)和GameViewController进入它的场景,游戏状态,UI,游戏板等.GameViewController处理它的场景触摸事件.当游戏结束时(点击结束游戏或游戏状态),将弹出GameViewController.

LandingViewController和GameViewController都控制着他们的动画和点击等流程,因此GameViewController可以完成游戏逻辑,就像下一轮游戏等等.任何帮助或指针都会受到赞赏,因为我想这样做!

ios sprite-kit skscene

6
推荐指数
1
解决办法
1960
查看次数

当节点被取消初始化时,SCNAction.playAudio会导致崩溃

我们SCNAction.playAudio在游戏中使用声明指出了崩溃的原因.如果playAudio在我们的游戏中调用任何语句,SCNScene/SCNView的取消初始化将随后随机触发此崩溃:

在此输入图像描述

我们如何播放音频:

func playAudioSource(from node: SCNNode, source audioSource: SCNAudioSource) {
    node.runAction(SCNAction.playAudio(audioSource, waitForCompletion: false))
}
Run Code Online (Sandbox Code Playgroud)

它显示了EXC_BAD_ACCESS存在CPP3DAudioEngine::RemoveContext.我们正在使用SceneKit和Swift 3开发iOS 10.3.

ios scenekit swift

5
推荐指数
1
解决办法
378
查看次数

为SKSprite Game创建一个登录页面

我正在使用许多SKScene和Sprite对象在xcode中创建游戏(Swift).我想创建一个场景(设置场景)来捕捉玩家的姓名,电子邮件,性别等.我该如何解决这个问题?如何捕获用户的输入.SKScenes不允许在UI中输入字段/值?

谢谢

sprite-kit skspritenode skscene swift

3
推荐指数
1
解决办法
358
查看次数

标签 统计

ios ×2

skscene ×2

sprite-kit ×2

swift ×2

scenekit ×1

skspritenode ×1