Articles of 地图

Unity2D 100×100瓷砖地图,最佳实践?

我试图在Unity2D中创建一个自上而下的地图,这张地图将作为一个1瓦大小的船将驾驶的海洋。 我希望能够编程生成这个地图,通过通过网格创建浅的地方,产卵的东西等。 我一直在读这是不是很好的做法,为每个瓷砖创建游戏对象,因为有这么多。 你可以使用对象池,但听起来很难管理。 我已经读过,使用网格地图是最好的方法,但没有人采取最好的方式来实现它。 任何线索推动我朝着正确的方向?

如何检查“对角”瓷砖中的碰撞?

我想在下面的scheme中创建一个平铺的地图: 玩家应该能够在蓝线(街道)上行走。 现在,在这种情况下解决碰撞检测的最好方法是什么? 例如,在瓷砖C1和C2的情况下:如果我让他们步行,那么玩家也可以移动瓷砖上不应该走的那些黑色部分。 另一方面,如果我把C1和C2都封锁了,那么玩家将无法在这些牌上(因此在街上)行走。 任何最佳实践? 谢谢。

如何在Phaser中的任意大小的canvas上使用16/32平方像素的瓷砖

我的问题是关于相位和平铺,但我不太清楚如何问,所以请忍受我。 我是否需要将我的瓷砖地图的canvas或区域的大小设置为我的瓷砖集中单个瓷砖的大小的倍数(以像素为单位)? 还是有一种缩放地图的方式适合一个特定的屏幕区域? 我不太清楚如何更好地解释我的问题,所以我会举一个我正在谈论的例子。 因为我只使用免费的游戏艺术(比如在opengameart.org上find的),所以大多数的拼图集都有16×16或者32×32的像素。 我想要显示瓷砖的游戏区域分别是16还是32的倍数? 换句话说,如果我想要一个尺寸为900×900的canvas的32×32的瓦片,我必须绘制/devise我的瓦片的大小是〜28x〜28像素吗? 如果我想要使用大小为32×32的瓷砖的tileset,我必须使canvas成为32的倍数,比如像1024×1024。 感谢您的支持和任何帮助。

如何实现地图滚动惯量公式

我正在寻找一个math公式来计算地图滚动惯性。 基本上我有一个HTML5canvas显示地图的一部分,我捕捉mousedown / mousemove / mouseup来计算我的新偏移量。 而当我滚动地图时,我希望地图在用户停止拖动光标后继续滚动片刻。 我有一个示例实现,但我不是很满意。 我会寻找一个很好的干净的math公式来实现这一目标。 当你滚动地图的时候,我想让我的地图像Civ-5一样。 这是我的实现的一部分:(工作jsfiddle: https ://jsfiddle.net/CowWarrior/dkxnj5d8/1/) //mouseup stopMapDrag: function (e) { var movementX = (e.pageX – this.startX); var movementY = (e.pageY – this.startY); this.mapOffsetX = parseInt(this.mapOffsetX) + movementX; this.mapOffsetY = parseInt(this.mapOffsetY) + movementY; this.isDragging = false; this.displayMap(); //calculate last vector ui.vectorX = parseInt(e.pageX – ui.absStartX); ui.vectorY = parseInt(e.pageY […]

等距映射黑色屏幕

我正在试图创建一个等轴测图,我很新。 请参阅附件示例图。 渲染时,我注意到当我的演员到达地图的边缘时,玩家可以看到黑色的屏幕 这不是很好。 我想知道处理它的最佳做法是什么? 我是否需要在地图结束处显示黑屏?如果不是,那么避免/隐藏最好的方法是什么?

计算等轴测图上显示的图块数量

我目前正在将现有的电脑游戏从一个自上而下的视图改为一个等轴视图。 该地图由无数个瓦片组成。 只有玩家窗口中当前可见的图块才会显示。 我所知道的是: 世界地图在x轴和y轴上滚动了多less个像素 单个瓦片的宽度和高度 玩家窗口的宽度和高度 我需要知道的是 要显示的第一个瓷砖的坐标 适合玩家窗口的瓦片数量 为了将旧方法形象化,就像这样(虚线方框表示玩家窗口): 所以采用旧的方法,这个计算非常简单。 新的看起来像这样: 而这就是我现在卡住的地方。 我无法弄清楚如何计算玩家窗口左上角的瓦片,以及两个新轴上玩家窗口内的瓦片数量。 任何人都可以帮助我吗? 如果是的话,如果解决scheme也包含一个简短的解释,这将是非常好的。 非常感谢。

建立“近等轴测”2D视图的最佳视觉方式

我在2D平台游戏中努力工作,据我所知是一个标准的2D视图(只有x和y是可见的) 但我想改变观点,所以我也可以看到地板。 但是我开发的MapBuilder完全基于TILES(所以我的2D工作得很好) 我想知道最简单的方法是将地面添加到地面上,而不使用旋转的矩形切换到完整的3D。 最好的办法是在我的普通楼层上创建一个“魔术”矩形来制作这个虚假的视角。 但是这仍然导致我在多层面上出现问题。

在一个斜视角游戏中混合观点

我一直在创造一个使用45度角拼图的冒险游戏来创造一种3D幻觉 – 又名倾斜的风格。 使用45度角… 我可以创建任何大小或形状的建筑我想要的: 我发现我可以很容易地得到另一个角度,如果我只是水平翻转瓷砖: 而从另一个角度来看,这样做会产生一个倾斜的视角,这确实将消失点改变为位于地图中心,而不是左上角。 这种混合的观点是共同的吗? 它破坏了视角还是join了它? 我认为只要始终保持原点位置就是单调的。 要清楚 ,我不会把这两种风格保持在一起。 它可以像河stream上的建筑物或者西北方的建筑物。 谢谢 编辑:更多的全景:

基于arrays的图块和边界框(aabb?),如何进行高效的图块碰撞?

在我的游戏中,有一点是我自己的对象,所以我可以很容易地使用标准的AABB碰撞testing。 后来我意识到这对于性能来说太可怕了,简单地说我的瓷砖就是一组数字,表示要使用哪个16×16段。 然而,这也意味着我不能再使用标准的AABB碰撞testing来testing地图了,因为地砖不再有自己的AABB了。 我尝试过的第一种方法是使用热点碰撞(每像素,见本页 ),但是我真的想要使用某种基于边界框的碰撞testing,而不是手动放置热点。 我能想到的唯一方法是performance糟糕的; 使用单独的AABBs(已经尝试过)并检查边界框/ AABB内的每个单像素是否与tile发生碰撞(性能可能更差)。 什么是我可以检测使用我的角色的边界框的碰撞,同时保持我的瓷砖只是一个数组数组,而不会有一个巨大的性能影响?

如何在2D亚军游戏中创建曲面?

如果我使用基于平铺的地图,我可以只有矩形对象。 在这种情况下,创建倾斜或弯曲的地面的策略是什么? 我应该使用基于图块的地图,还是应该在地图中定义角点并以编程方式创建地面?