如何在无限地形上同步精灵?

How to sync sprites on an infinite terrain?

我有一个无限地形生成器,想制作一个水精灵(流动的水)来为地图添加一些细节。地形被分成块,当我加载新的水块时,水精灵不与旧块同步。

所以,我的问题是:如何确保我所有的水精灵都同步(同一帧和同一时间更改为新帧),即使我加载了新的水精灵?

您可以通过向运行时添加 enterFrame 侦听器来自行更改它们。监听器函数被调用的每一帧,你可以使用精灵setFrame()来更新每个精灵的外观。这种方法不一定比 Corona 播放帧序列的便捷方法成本更高。

重要的是,所有这些水精灵都使用相同的图像 sheet 作为它们的帧,以便将 space 保存在纹理内存中。另外,我知道你的地图是 huge/infinite,你真的只需要更新 ** on screen** 精灵中的框架。当玩家在地图上移动时,不同的网格正方形需要进入视野,您可以将这些精灵的框架设置为任何它需要的框架,以适应上一帧结束时屏幕上已经存在的任何内容。