我正在考虑使用比大多数开放世界游戏更大的地图来制作游戏。我遇到的问题是当玩家想要在地图上移动时如何移动屏幕或者我将如何在地图上正确渲染新的点。这就像任何游戏,如马里奥,真棒坦克2,基本上所有的瓷砖地图2d游戏。
所以我的问题是“如何渲染瓷砖地图的新部分”。
这是我的确切情况: 我有一个包含数字网格的文本文件。每个数字代表一个纹理并具有自己的属性。现在当我生成这个时,我可以创建一个面板并将所有的瓷砖添加到它上面,并且只显示7x7网格。现在,当玩家按下按键时,地图应该随着玩家停留在屏幕中间而移动。现在,我能想到的唯一方法就是将所有的图块一次渲染到大于框架本身,这样在任何给定时间只显示7x7网格,而不是更改包含所有图块的面板的x和y。这似乎是非常低效的存在,它同时渲染整个地图。因此,当玩家移动时,他们应该留在屏幕的中心并在后台移动地图。而且由于背景越大,最好的方法就是这样做。