【问题标题】:android opengl game安卓opengl游戏
【发布时间】:2010-11-23 02:36:58
【问题描述】:

我正在尝试使用 opengl 为 android 开发 2D 游戏。

我知道如何在屏幕上打印图像并制作动画。但是在我的游戏中,我有一张地图,并且想要放大和缩小并滚动地图。但我想不出最好的方法。

谁能帮帮我?

【问题讨论】:

  • 您能说得更具体些吗?您需要有关 open GL 的建议吗?或者您正在寻找有关建筑和 2D 游戏设计的信息?目前我很难弄清楚你的实际问题。所以,我希望你能帮我澄清一下,我也许能帮上忙:)。
  • 你应该看看一些基本的平铺概念。指点你我之前的问题:stackoverflow.com/questions/2125354/…

标签: java android opengl-es


【解决方案1】:

我没有任何 api 示例,但我在大学做过游戏设计,所以我会贡献我的两点。

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

例如,如果您正在寻找一个非常静态不变的地图,请使用简单的图片图像。您可以将 API 框架用于图片视图,使您能够像在图库中一样放大和缩小,并滚动缩放图像,或者在这种情况下,缩放地图上的位置。

或者,如果您的地图基于平铺系统,一个很好的例子就是来自老游戏男孩的原始神奇宝贝和塞尔达传说游戏,那么每个区域都会为自己存储一个平铺“缩略图”作为位图。然后根据发现的区域将它们放入网格上的适当位置。

这可能是构建地图最灵活的方式,因为您不依赖于整个地图的设置位图,这意味着它可以有效地改变其外观;您可以根据需要构建它以显示选择区域(如果地图仅显示玩家所覆盖的位置,这很有用),这也意味着您可以进行基于图块的叠加:

ie - 如果某个区域应该包含宝藏,则会在地图网格的 x,y 位置上覆盖一个宝藏图标。

我在大学的游戏项目中使用了平铺选项,它使其他与地图相关的一切变得更容易。它还使地图方面的存储变得更小。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多