2010-02-04 186 views
6

我想用opengl开发一个2D游戏给android。android opengl游戏

我知道如何在屏幕上打印图像并为它们设置动画。但在我的游戏中,我有一张地图,想要放大和缩小地图并滚动。但我无法弄清楚这样做的最佳方式。

任何人都可以帮助我吗?

+0

你能更具体吗?你需要关于开放GL的建议吗?或者,您是否在寻找有关建筑和2D游戏设计的建议?目前我很难弄清楚你的实际问题。所以,我希望你能澄清一下,对于我和我可能会有所帮助:)。 – 2010-02-05 11:20:11

+1

你应该看看一些基本的平铺概念。 把你指向我以前的问题: http://stackoverflow.com/questions/2125354/best-approach-for-oldschool-2d-zelda-like-game – Dullahx 2010-02-05 16:57:32

回答

0

最简单的方法是在绘制地图之前调用glTranslatef(-scrollX,-scrollY,0),然后调用glScalef(zoom,zoom,zoom)。

1

我没有任何api的例子,但我在大学做过游戏设计,所以我会给我两个比特。

您使用的方法取决于您的地图样式,大小,功能和格式。

例如,如果您正在寻找非常静态的非变化地图,请使用简单的图片图像。您可以将API框架用于图片视图,使您能够像在图库中一样进行放大和缩小,并在缩放图像上滚动,或者在此情况下缩放地图上的位置。另外,如果你的地图是基于平铺系统的,那么这个例子就是从老游戏男孩中最初的神奇宝贝和传奇的塞尔达游戏,然后每个区域存储一个自己作为一个位图的“缩略图” 。然后根据发现的区域将它们放入网格的适当位置。

这可能是构建地图的最灵活的方法,因为您并不依赖设置的位图来获取完整的地图,这意味着它可以有效地改变其外观;您可以根据需要构建它以显示选择区域(对于地图只显示玩家已覆盖的位置很有用),这也意味着您可以执行基于图块的覆盖:

即 - 如果某个区域应该包含宝藏,在地图网格上叠加x,y位置上的宝物图标。

我在大学的游戏项目中使用了拼贴选项,它使所有其他地图相关更容易。它还使小型存储的地图面更加明智。