以前我做传统的俯视视角地图滚动时 ,用的是下面的这种思路:
下面以横向滚动来说明一下我的思路:
要显示的完整内容(10个tile)
abcdefghij
当前屏幕大小4(每次能显示4个tile),初始状态显示
[abcd]
缓存图大小5(每次能容纳5个tile) 初始状态显示
|abcde|
显示的实际情况是(并排画两次 缓存图 )
|[abcd]e|abcde|
滚动时
缓存图左移 |a[bcde]|abcde|
缓存图左移 同时更新缓存图左边第一列 |fb[cde|f]bcde|缓存图左移 同时更新缓存图左边第二列 |fgc[de|fg]cde|缓存图左移 同时更新缓存图左边第三列 |fghd[e|fgh]de|缓存图左移 同时更新缓存图左边第四列 |fghie|[fghi]e|缓存图左移 同时更新缓存图左边第五列|fghij|f[ghij]|
这个思路扩展到俯视4向tile地图不难
但是现在要把他应用到 斜45度 出现了问题。
何时更新缓存图相应列 以及何时移动缓存图 移动多少 这个问题我想不明白了(头一次弄 斜45度 的 请大侠指导啊)