首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当SpriteKit动画停止时,SceneKit上的SceneKit覆盖停止动画

当SpriteKit动画停止时,SceneKit上的SceneKit覆盖停止动画
EN

Stack Overflow用户
提问于 2016-01-21 01:48:30
回答 1查看 765关注 0票数 2

我想之前一定有人问过这个问题,但我现在找不到,所以在这段时间里。

当SpriteKit动画停止时,SceneKit上的SceneKit覆盖停止。这真是出乎意料。就像整个SCNView和它的孩子一旦3D内容不移动就会进入睡眠状态。如何使spritekit场景独立于scenekit场景的动画?更新:我已经确认,如果我添加一个简单的3D框,无限期旋转并将其保存在某个视图中,3D场景不会“睡眠”,覆盖也不会。是否有什么设置可以阻止SceneKit部件休眠?

背景:我使用SCNView.overlaySKScene。我有一个无限期重复的动画的一个子节点的覆盖。当一个动作和/或动画在SceneKit场景中进行时,覆盖2D的东西也会有动画,但一旦3D动画停止,就会停止。

iOS 9.2.1.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-21 07:06:17

只有当SceneKit视图知道动画正在进行时,它才会运行它的update/render循环。(因为如果渲染的内容没有变化,渲染只会浪费CPU/GPU的时间,消耗电池的能量。)

SceneKit在猜测何时运行render循环时相当保守。如果场景中有CAAnimations或SCNActions,或者物理引擎正在做什么,它就会运行,但我认为就是这样。

如果您有其他东西想要运行呈现循环(比如需要运行自己的游戏循环的覆盖SKScene ),只需将视图的playing属性设置为true即可。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34913997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档