如果我使用普通 Swift 对所有游戏逻辑进行了建模,我可以在 SpriteKit update(_:) 函数中编写所有游戏逻辑吗?

Can I write all my game logic in the SpriteKit update(_:) function if I've modelled all the game logic using plain Swift?

提问人:rayaantaneja 提问时间:10/2/2023 最后编辑:rayaantaneja 更新时间:10/2/2023 访问量:43

问:

我在 Swift 中模拟了一个非常简单的 2D 游戏。我使用结构来表示我所有的游戏元素,包括精灵、联系人、行为/动作、动画等。所有这些都非常高效,而且游戏非常简单(例如,检查距离平方以确定接触,使用简单的三角函数仅移动几个 CGPoints 进行动画)。

我可以在 SpriteKit 的函数中编写整个游戏逻辑,但是,我在 HackingWithSwift 上读到我应该避免在函数中编写太多代码。把我所有的游戏逻辑都写在那里是不明智的吗?或者将逻辑分散在其他帧周期事件回调之间会更好吗?update(_:)update(_:)

我只需要 SpriteKit 能够在屏幕上的某些位置绘制形状/纹理 + 手势识别。其他一切都由我自己的结构处理。鉴于这些是我唯一的要求,我学习一个新框架会更好吗?我这样做完全是为了好玩,并且拥有世界上所有的时间。事实上,我喜欢学习新事物,所以我也欢迎挑战。我的 #1 优先事项是使游戏尽可能高效,我认为这应该可以使用 SpriteKits 函数。update(_:)

iOS Swift 性能 精灵套件 游戏开发

评论

3赞 Steve Ives 10/3/2023
避免过早优化。最好只编写代码,然后查看是否遇到任何性能问题。“限制”是游戏循环希望每 1/60 秒运行一次,因此它需要在 0.016666 秒内完成。在游戏循环中将代码从另一个函数移动到另一个函数不会节省任何时间。update()update()

答: 暂无答案