Android开发-具有鸟瞰视图的2D地图

Android开发-具有鸟瞰视图的2D地图,android,graphics,view,Android,Graphics,View,我正在考虑创建一个二维鸟瞰地图视图,用户基本上是通过它来工作的 有没有一种方法可以让我在1go中创建整个地图并将其存储在某个地方,然后在游戏中只显示地图的某一部分? e、 g map size=100 x 100,但用户只能看到5x5(放大到屏幕的70%)如果将整个100x100贴图作为位图/纹理存储在内存中,并且仅显示某一部分,则可能会占用太多内存。我想如果你把它分成若干块,例如5x5,并缓存这些块(只缓存现在可见和绘制的块),你会更高兴。当用户移动并到达新块时,您只需在位图/纹理上绘制5x5

我正在考虑创建一个二维鸟瞰地图视图,用户基本上是通过它来工作的

有没有一种方法可以让我在1go中创建整个地图并将其存储在某个地方,然后在游戏中只显示地图的某一部分?
e、 g map size=100 x 100,但用户只能看到5x5(放大到屏幕的70%)

如果将整个100x100贴图作为位图/纹理存储在内存中,并且仅显示某一部分,则可能会占用太多内存。我想如果你把它分成若干块,例如5x5,并缓存这些块(只缓存现在可见和绘制的块),你会更高兴。当用户移动并到达新块时,您只需在位图/纹理上绘制5x5分片,并将其缓存到可见的时间(且保持不变)。

如果将整个100x100贴图作为位图/纹理存储在内存中,并且仅显示某一部分,则可能会占用太多内存。我想如果你把它分成若干块,例如5x5,并缓存这些块(只缓存现在可见和绘制的块),你会更高兴。当用户移动到一个新块时,您只需在位图/纹理上绘制5x5瓷砖,并将其缓存到可见(且不变)为止。

非常感谢florian h的建议。然而,当我正在开发一款Android应用程序时,你有什么想法可以为Android做这件事吗?如果我要使用drawable部分,我将用Java编写这个项目。具体是哪一部分?首先,您必须决定是使用OpenGL还是Canvas。如果您使用的是画布,作为一种非常简单的方法,您可以使用二维位图数组,该数组可以存储所有5x5块(或仅存储当前可见的块),并根据玩家的位置将它们绘制到画布上。对于基于画布的游戏,你应该看看SDK中的演示项目,里面有类似的东西!我打算使用画布,2d位图数组似乎是最好的方法。我假设我必须使用大量的if语句或其他方法来确定用户是否已经到达当前绘制的画布adn的末尾,然后简单地绘制下一部分。谢谢你的帮助,这对我的发展真的很有帮助。不客气……这有点难解释,但是如果你有任何进一步的问题,只要问:)我一直在考虑这个问题,我缩进创建一个大的2d数组和创建一个循环,它将前5个数组绘制到画布上(通常会有N,E,s,W)然后,每次玩家移动绘制下一组阵列时,屏幕将始终显示最新的地图。该地图将看起来像一个迷宫的实际游戏。以上这些似乎是做这件事的最佳方式吗。再次感谢弗洛里安·h.的建议。然而,当我正在开发一款Android应用程序时,你有什么想法可以为Android做这件事吗?如果我要使用drawable部分,我将用Java编写这个项目。具体是哪一部分?首先,您必须决定是使用OpenGL还是Canvas。如果您使用的是画布,作为一种非常简单的方法,您可以使用二维位图数组,该数组可以存储所有5x5块(或仅存储当前可见的块),并根据玩家的位置将它们绘制到画布上。对于基于画布的游戏,你应该看看SDK中的演示项目,里面有类似的东西!我打算使用画布,2d位图数组似乎是最好的方法。我假设我必须使用大量的if语句或其他方法来确定用户是否已经到达当前绘制的画布adn的末尾,然后简单地绘制下一部分。谢谢你的帮助,这对我的发展真的很有帮助。不客气……这有点难解释,但是如果你有任何进一步的问题,只要问:)我一直在考虑这个问题,我缩进创建一个大的2d数组和创建一个循环,它将前5个数组绘制到画布上(通常会有N,E,s,W)然后,每次玩家移动绘制下一组阵列时,屏幕将始终显示最新的地图。该地图将看起来像一个迷宫的实际游戏。以上这些似乎是做这件事的最佳方式吗。再次感谢