【问题标题】:Sprite-kit game performanceSprite-kit 游戏性能
【发布时间】:2016-10-24 13:01:39
【问题描述】:

我正在制作一个 Sprite 套件游戏。那里我有一个按钮,它必须被隐藏,而某些条件不会是真的。所以我将此按钮添加到场景中并使其隐藏。那么哪种方式更好呢?要制作一个按钮,将其添加到场景中并使其隐藏?或者在需要时将其添加到场景中?

【问题讨论】:

  • 这取决于您的需求。您是否需要它不断隐藏然后重新出现?还是只需要它出现一次?
  • 当节点被隐藏时,它只是不被渲染。尽管如此,该节点仍可以以不同的方式与其他节点交互……您甚至可以在隐藏节点上运行操作。一个按钮,就像你的情况一样,无论如何都很难改变性能,但是在屏幕上拥有 200 多个节点将是另一回事,并在池化(例如,创建一次节点并切换隐藏属性)与重新创建之间进行选择一遍又一遍的节点,可能会产生不同的结果(池化将是一种高效的方式)。

标签: performance sprite-kit skspritenode


【解决方案1】:

如果您不打算经常使用该按钮,请不要添加它。我们不确定对隐藏对象进行了哪些优化,因此它可能仍然是绘图过程的一部分,只是被跳过了。如果您发现自己需要在快速会话中打开和关闭按钮,那么您可能希望将其添加到场景中并使用 hidden 属性。现在性能损失很小,所以还要考虑你在这件事上的时间。添加/删除是否需要做更多的工作,还是和隐藏一样?考虑到这样的事情。

【讨论】:

  • 这是可靠的建议。我还要补充一点,这在很大程度上取决于您是否使用 SpriteKit 场景编辑器来构建场景。如果你在那里布置你的场景,那么放入你需要的东西并剔除你不需要的东西通常比用代码生成它们要容易得多。这样,您可以像其他项目一样以视觉方式布置这些元素。这还允许您轻松地将动画附加到它们,使用具有良好预览功能的 GUI 创建动画。
猜你喜欢
  • 2014-07-14
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多