【问题标题】:The collision with TiledSharp don't work与 TiledSharp 的碰撞不起作用
【发布时间】:2017-02-28 12:54:05
【问题描述】:

我试图与我的玩家和我的地图发生碰撞,但他不起作用 我的代码:http://pastebin.com/yWRuQkEr

这是错误的图片:the image

我是法国人,VS 不会翻译所有消息。

字典中没有键。

【问题讨论】:

  • 只显示相关代码。你在哪里得到错误?错误是什么?顺便说一句,Google 在翻译错误消息方面做得很好。
  • 您在图像中有错误,代码是 _map.ObjectGroups["Collision"].Objects 它在第 79 行的 foreach 中

标签: c# monogame tiled


【解决方案1】:

我使用 TiledSharp 已经很长时间了。如果您创建的地图不包含此类对象组,通常会出现此错误。

如果对象组确实存在,请检查您的 .tmx 文件。它看起来像这样:

<objectgroup name="Obstacles">
  <object id="1" x="35" y="39" width="24" height="20"/>
</objectgroup>

这个代码看起来像这样(在我的例子中):

foreach (var o in curMap.ObjectGroups["Obstacles"].Objects)
    collisionObjects.Add(new Rectangle((int)o.X, (int)o.Y, (int)o.Width, (int)o.Height));

请注意,名称区分大小写。 对象组通常位于 .tmx 文件的末尾

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多