2011-10-21 36 views
1

我正在寻找创建地图的2D birdseye视图,其中用户基本上是通过它的方式。Android开发 - birdseye视图的2D地图

有没有一种方法可以创建整个地图并将其存储在某个地方,然后在游戏过程中只显示该地图的某个部分? 例如地图大小= 100 x 100,但用户只能看到5x5(放大以使用70%的屏幕)。

回答

1

如果将整个100x100地图作为位图/纹理存储在内存中并仅显示某个部分,它可能会使用太多的内存。我认为如果你把它分成几块例子,你会更高兴。 5x5并缓存这些块(只有那些现在可见和绘制的块)。当用户移动并获得新块时,只需在位图/纹理上绘制5x5的图块,并在其可见(并保持不变)状态下进行缓存。

+0

非常感谢florian h的建议。但是,当我正在开发Android应用程序时,您是否有任何想法可以为Android做到这一点?我应该使用drawable部分,我将用Java编写这个项目。 –

+0

究竟是什么部分?首先,您必须决定是否要使用OpenGL或Canvas。如果你使用画布,你可以作为一个非常简单的方法,使用一个2维的位图阵列,它可以存储所有5x5块(或者只是那些现在可见的块)并将它们绘制到画布上,具体取决于玩家的位置。为了做基于画布的游戏,你应该看看SDK中的演示项目,里面有类似的东西! –

+0

我打算使用一个画布和位图的2D阵列似乎是最好的方式去。我假设我将基本上必须使用大量的if语句或某事来确定用户是否已经到达当前绘制的画布的末端,然后简单地绘制下一个部分。感谢您的帮助,这应该有助于我的发展。 –