首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MonoGame中的XTiled -在MonoGame中导入TMX映射

MonoGame中的XTiled -在MonoGame中导入TMX映射
EN

Stack Overflow用户
提问于 2013-05-20 06:43:27
回答 1查看 2.6K关注 0票数 0

我已经在平铺地图编辑器中创建了TMX地图,并且我使用XTiled在MonoGame中加载地图。我用xna项目(在内容项目中)构建.tmx文件,而不是在我的单一游戏项目中构建所有引用集的.xnb文件。构建成功,但无法加载地图。

如果有人能告诉我在Monogame中加载TMX地图的步骤,或者为我提供一些教程,我将不胜感激。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-20 07:14:58

在任何情况下,我可以向您保证,在MonoGame中使用xTile加载切片地图是可能的。我这样做是为了我们的一个叫Rock Run的游戏。

诀窍是使用MonoGame依赖项重新编译xTile。下面是我们的关卡加载代码片段,可能会有所帮助:

代码语言:javascript
复制
string levelPath = string.Format (@"Content\level{0:00}.tbin", level);
var stream = TitleContainer.OpenStream(levelPath);
_map = xTile.Format.FormatManager.Instance.BinaryFormat.Load(stream);

_mapDisplayDevice = new XnaDisplayDevice(Content, GraphicsDevice, ScreenScale);
_map.LoadTileSheets(_mapDisplayDevice);

var viewportSize = new xTile.Dimensions.Size(ScreenWidth, ScreenHeight);
_viewportRectangle = new xTile.Dimensions.Rectangle(viewportSize);

这里有一些需要注意的事情。我们没有费心先将内容预编译成XNB文件。它们只是从地图编辑器导出为二进制(tbin)文件,并作为直接内容添加。不过,我不认为这是你的问题,根据记忆,我们必须做一些小的改动才能让它以这种方式工作。因此,使用XNB文件应该也能正常工作。

其次,我们使用TitleContainer将文件作为流读取,因为在安卓设备上,文件存储在独立的存储中,您无法通过典型的文件系统操作找到它们。

如果你关注过the tutorial,其他的一切都应该是不言而喻的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16640261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档