我需要在画布上渲染大量 hextiles。我想这样做,以便我只渲染用户可见的图块并在用户滚动时加载额外的 hextiles(使用拖动或箭头键或平移控件)。我脑子里有基本的想法,但我正在寻求帮助,以提出一个更强大的解决方案,可以很好地扩展。
我的想法和现在可以做的:
一个。识别需要加载到屏幕的图块并从服务器获取用于渲染它们的数据 b. 当用户拖动时,找出需要加载的新图块集并获取数据并再次重新加载整个屏幕。
这可行,但它不会给人滚动的感觉——它基本上会突然重新定位所有东西。理想情况下,我想在滚动时获得谷歌地图的感觉。我一直在尝试在地图一侧加载一些图块,并且在拖动时只滚动底层画布,但这并不能很好地工作,因为画布用完了......如果我有一个画布,那就太好了表现得像一个循环缓冲区,所以在任何方向滚动只会在内存中保留一定数量的图块,我可以在各个方向连续滚动。
非常感谢任何想法或有用的提示。
谢谢!