通过文本文件生成android块图

通过文本文件生成android块图,android,collision,Android,Collision,(我只是想说清楚,我要求的是指导,而不是让某人对整个事情进行编程(除非他们想XD)) 您好,我目前正在尝试为android制作一个游戏,在这个游戏中,您可以用块构建地图(有几种类型,但我们这里只使用墙) 地图将是100x20块,玩家可以将任何可用的块按任何顺序放在里面,它将被存储为一个文本文件“让我们称之为“地图文件”(这部分我已经解决了),其中0将是零,1将是墙 现在,问题是当你开始玩地图时,游戏将不得不加载所有的块来制造障碍物,但我希望它以一种特定的方式来做(主要是为了让游戏变得更流畅,而不

(我只是想说清楚,我要求的是指导,而不是让某人对整个事情进行编程(除非他们想XD))

您好,我目前正在尝试为android制作一个游戏,在这个游戏中,您可以用块构建地图(有几种类型,但我们这里只使用墙)

地图将是100x20块,玩家可以将任何可用的块按任何顺序放在里面,它将被存储为一个文本文件“让我们称之为“地图文件”(这部分我已经解决了),其中0将是零,1将是墙

现在,问题是当你开始玩地图时,游戏将不得不加载所有的块来制造障碍物,但我希望它以一种特定的方式来做(主要是为了让游戏变得更流畅,而不必每次更新都检查2000个块):

-将一组块(直线、正方形、矩形)作为一个障碍物,这样在大量块中只有一个碰撞检测(困难的部分是以最佳方式分割复杂形状)

-将地图分成5x5块,这样它就不必检查每一个障碍物以确定是否应该绘制它(只需绘制玩家所在的块和周围的块)

此操作的输出应为4级数组(或类似的内容): 数组[Ychunk][Xchunk][x,y,xblock,yblock,type] (Type只是地图中块的编号(在本例中为1,因为它是我的应用程序中墙的编号)

目前,游戏有:

-包含所有障碍物信息的数组(x、y、xBlocks、yBlocks、type)

-仅当障碍物距离玩家较远时更新障碍物(仍需全部检查)

-仅绘制窗口内的障碍物(也必须全部检查)

  • 首先,你不需要一个包含所有地图信息的数组,你需要的是一个二维瓷砖数组。瓷砖对象将包含所有信息,如图像、isSolid等
  • 其次,你将始终让玩家可见,这样就可以充当你的锚,只显示玩家周围的瓷砖,并将其渲染到屏幕上。渲染屏幕上不会渲染的瓷砖是没有意义的,例如,如果玩家在中间,屏幕渲染5x5个瓷砖,然后+/-2个瓷砖r磁贴。检查磁贴是否可见时也是如此。否,需要检查所有磁贴
  • 最后,你也不需要检查玩家与所有障碍物的碰撞,只需要检查玩家将要移动的瓷砖的碰撞

希望有帮助。

2D tile游戏?。是的,很抱歉忘记了。谢谢你的回答,但正如“目前游戏已经”中所说的一部分,有一个只包含障碍物信息的数组,游戏只更新和渲染窗口内的对象,另一部分说它必须检查所有障碍物,以便知道它们是否在窗口内。什么是xblock、yblock和xchunk、ychunk?类型,我假设它是平铺类型。xblock和yblock是b的数字障碍物构成的每个方向上的锁,xchunk和ycchunk是地图中的区块(区块是5x5空格区域)