Questions tagged «tilemap»

平铺地图是一种反复使用小图形碎片,平铺砖以塑造游戏场的技术。

3
如何从Tilemap获取所有图块?
我一直在尝试TileMap在Unity中使用新系统,我一直在寻找一种以列表或2D数组形式访问图块的方法,但是除了GetTile(Vector3Int vector)返回仅一个图块之外,我什么都找不到。去做这个 ?
13 unity  tilemap 

2
实体系统框架中的图块地图?
我一直在阅读实体系统框架,尤其是Artemis。我正在尝试确定是否适合我。我严格从事基于图块的2d像素艺术游戏,而且我认为它们永远不会占用大量资源。过去,我一直使用标准OOP进行大量继承。 我现在对实体系统框架的理解(我不确定是否完全掌握): 实体不过是ID的 组件不过是添加到实体组件池中的哑数据 系统是附加到世界的更新功能,用于处理与系统组件签名匹配的每个实体 如果我的理解是正确的,那么在概念上很难在此框架中添加图块图和AI行为树。我将来会问有关AI的问题。 是否应在此框架中内置图块地图?还是应该将其分开放置以使其易于使用tilemap编辑器生成? 如果应该将tilemap内置到此框架中,那么每个tile都是不同的实体吗?和tilemap一个系统?还是tilemap本身就是继承了继承关系的单个实体? 如果tilemap足够精细,那么与外部tilemap碰撞检测实体的最佳方法是什么? 我了解我列出的多个选项可能是正确的,但是如果有人过去这样做过,他们也许可以使我感到困惑。也许还有我没有想到的另一种选择? 谢谢。

3
二维网格地图上的道路/河流生成
这是一个新手问题,但是在这里: 我的地图是2D网格,我想生成道路和河流。从起点到终点的路线一定不是瓷砖数量的最佳路线。相反,它们应该具有一定程度的随机性(回合)。 是否有针对这种情况的标准算法? 干杯! 更新: 这是在网格上使用权重并使用jgrapht库应用最短路径算法(Bellman-Ford)的结果。毕竟,我接受了多纳兹的回答。 http://pastebin.com/AGQGK5ik

4
旧游戏(例如Golden Axe或Street或Rage)是否使用图块地图?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我想知道是否像Golden Axe(genesis)或Rage Street(genesis)之类的旧游戏在关卡中使用了tilemap或背景位图。 我找不到任何能解释这个问题的资源,并且可以在网上搜索周围的背景图像,但从未为这些关卡找到任何图块图。当然,这并不能回答问题,但是看起来他们在整个级别上都使用了背景位图。 但是我不确定那些旧的控制台存储这样的“大”图像并进行渲染是否可行。 有谁知道在那些旧系统上的编程知识,并且知道这些“透视”级是如何构建的?
12 tilemap 

2
如何随机生成基于2D磁贴的侧向滚动地形?
我想使用以下tileset随机生成2D Sidecroller游戏的地图: 我发现了一些有关位屏蔽过程的好文章,例如:http : //www.angryfishstudios.com/2011/04/adventures-in-bitmasking/ http://www.saltgames.com/2010/a-bitwise -适用于贴图的方法/ 我喜欢使用位掩码/碎片掩码而不是执行巨大的if子句或switch语句的想法。 但是,我在可视化整个过程时遇到了麻烦,这些文章都没有提到随机化。 我的图块以多种不同的方式组合在一起,而不仅仅是我所链接的示例中的图块看起来的一种方式。 例如,这里仅是一些示例: 由于我的图块可以通过许多不同的方式组合在一起,因此我认为8位遮罩无法正常工作。因此,我正在考虑使用更大的位掩码。类似于char [8]或char 4。 如果有人可以显示一般算法外观的一些伪代码/示例,我将不胜感激。

2
如何在libgdx中实现按程序生成的图块?
我正在libgdx中创建一个简单的自上而下的Zelda式游戏,我想实现程序生成的基于图块的地牢,类似于此。 Libgdx确实有一个名为TiledMap的类,这似乎可以满足我的需求,但是官方文档之外的文档显示TiledMaps只能与.tmx文件(即预先设计的地图)一起使用。我做了很多谷歌搜索都无济于事,所以我在这里要求最后的希望是希望有人对使用libgdx进行动态生成的瓦片地图有经验。 编辑:能否将StaticTiledMapTiles与上面链接到的教程结合使用以实现我的目标? 谢谢!

2
根据相邻图块选择图块
我正在使用平铺的地图编辑器,因此我需要根据相邻的图块自动选择图块。例如,当将道路砖放置在另一个道路砖旁边时,需要将两者定向,以便它们形成连续的道路。如果周围还有其他道路,我们可能需要使用转角或交叉路口砖。 谁能推荐一些算法来做到这一点?该游戏使用8向方形平铺地图。

2
具有不同高度的相邻图块的图块地图/地形实现
! 我正在寻找有关切片地图的一些信息,或更确切地说,是什么类型的切片地图被称为。 我对过山车大亨或运输大亨系列游戏中使用的实现方式感兴趣,并且一直在研究矢量场地形和高度图地形,但我不确定它们是否适合我的期望发展。 很难找到任何像样的信息,因为大多数人将其称为等轴测图,但是我正在寻找以固定的正交透视图创建3D图像的方法。我了解磁贴图的基础存储与渲染方式无关,但我不希望像老式的口袋妖怪/塞尔达游戏一样创建2D磁贴图,更像暗黑破坏神那样具有包含功能悬垂的悬崖和倾斜的地形。 我只是想找到合适的条件来搜索google和stackoverflow的资源,以帮助我确定要走的道路。 到目前为止,我已经设法在不使用存储在VBO中并渲染为线框的height / y分量的情况下充实了基本的贴图。到目前为止,这看起来还不错,但是我设想在尝试操纵单个顶点以创建悬崖和坡度而不影响相邻图块时会遇到问题。 我应该研究一种特定类型的实现吗?我以为如果在矢量场地形上找到了相当数量的信息,就可以破解它,但我不确定这是否也会产生正确的结果。 如果有人可以帮助我了解一下,将非常感谢您的帮助:) 更新资料 我提供了一张图片,以进一步阐明我想要实现的目标: 从如何创建倾斜(高度)等距图块借来的图像 此图像显示了我要生成的地形类型,但不包括我对建模感兴趣的“悬崖”或悬垂的地形类型。但是它确实提出了我没有考虑的其他一些问题,即; 如何处理“水”等图层(在图像的左上方)以包括水之下的可见地面? 如何适应地图的“边缘”,以便渲染泥土来将世界描述为非平坦的实体? 是否可以使用这种地形的基础存储来建模物理模型,例如滚下山坡的球或穿越斜坡的运动员的运动速度? 我的想法是,可以使用8个顶点对地形的每个图块进行建模,其中4个主顶点覆盖实际图块本身,而其余4个顶点用于对每个图块的侧面/墙进行建模。我在此实现中看到的两个问题是:a)世界地图的尺寸​​实质上增加了一倍,b)鉴于并非所有图块都将包含“墙”,因此某些图块最终将具有未使用的冗余顶点。 我想创建一个地形编辑器,该编辑器允许每个图块变形以及在游戏过程中更改地形的功能。这本身带来了其他问题,例如;VBO可以在即时修改的同时用于存储和渲染地形吗?是否可以在不影响相邻图块的情况下修改顶点? 我的印象是我要么使事情变得过于复杂,要么陷入分析瘫痪,因为我忽略了编写任何代码来解决问题而又不清楚我将如何实现自己想要的目标。 再说一次,我真的只是在寻找正确的方向。有没有一种特定类型的tilemap / terrain实现,可以满足3D地图在地图编辑器以及游戏过程中变形的需要,或者我必须自己滚动一下?我并不想在这里重新发明轮子,但是由于我不确定要寻找的内容,我正在努力寻找任何资源。 如果任何人都可以提供任何信息,资源或代码片段,将不胜感激,因为我急于弄脏我的手,并开始生产除我现有的扁平线框以外的其他东西。 谢谢阅读!

3
优雅的自动平铺
我正在寻找有关人们如何在基于图块的游戏中实现自动平铺的信息。到目前为止,我总是用一堆硬编码的“ if ... else ...”语句来即兴创作,现在我决定是时候找到一些更优雅的解决方案了。我在Internet上搜索了有关该主题的实现示例和讨论的示例,但我只想出了三篇文章: http://www.codeproject.com/Articles/106884/Implementing-Auto-tiling-Functionality-in-a-Tile-M http://blog.rpgmakerweb.com/tutorials/anatomy-of-an-autotile http://web.archive.org/web/20130927193449/http://www.squidi.net/mapmaker/musings/m091016.php (特别是最后一个是全面的,非常有帮助。) 我还研究了各种实现和库的文档,例如flixel:http ://www.flixel.org/features.html#tilemaps 可悲的是,我所能找到的所有解决方案与我刚开始时一样,都是即兴且偶然的,几乎从来没有涵盖所有可能的情况。 我正在寻找可以从中学习的自动平铺实现的优雅示例。


4
LibGDX使相机保持在TiledMap的范围内
我有一个简单的TiledMap,可以很好地渲染它。我有一个玩家在跳来跳去(使用Box2D),而我的相机跟随着该玩家: cam.position.set( player.position().x * Game.PPM + Game.V_WIDTH / 4, player.position().y * Game.PPM, 0 ); cam.update(); 但是,摄像机将“移出” TiledMap。如何将相机保持在TiledMap上,所以当我靠近地图边缘时,相机停止滚动,并且播放器移向相机边缘?

2
具有两个角的对角线视线
现在,我正在使用Bresenham的线算法来获取视线。问题是我发现了一个边缘情况,玩家可以透过墙壁看。当玩家注视着墙的两个角之间,且在另一侧有特定角度的间隙时发生。 我想要的结果是将两堵墙之间的瓷砖标记为无效。 修改布雷森汉姆线算法以解决此问题的最快方法是什么?如果没有好的解决方案,是否有更合适的算法?任何想法都欢迎。请注意,该解决方案还应该能够支持3d。 编辑:我的简单解决方案是检查直线的x和y坐标更改时两个角是否都闭合。有关完整产品的工作源代码和交互式演示,请参见http://ashblue.github.io/javascript-pathfinding/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.