当精灵在视口外时,如何删除它们,但如果我 return 到它们的位置以节省内存,然后再次添加它们

How can I remove sprites when they are outside viewport, but then add them again if I return to their location to save memory

我正在制作一款类似无冬之夜的开放世界角色扮演游戏。但我担心内存,担心如果我只是用基于物理的精灵节点填充一个巨大的世界,我将没有任何内存用于其他任何东西。

为了解决这个问题,我想在 sprite 远离视口时将其移除,然后在靠近它们的位置时重新添加这些 sprite。

我怎样才能做到这一点?

感谢所有花时间帮助我的人,谢谢!

您可以将所有数据存储在像 CoreData 这样的数据库中,并带有您需要的确切参数,例如您需要的状态和位置。

然后你可以创建一个方法来获取具有半径的特定位置上的所有对象,并在玩家移动时或当你需要检查其他站点上的任务时使用此方法,获取这些对象并与当前对象进行比较对象,将新对象再次放置在正确的位置并移除旧对象(它们可能不在半径内或由于其他原因而消失)

这是一种复杂的方法,但它可行。