Javascript 从TileMap函数生成特定的平铺

Javascript 从TileMap函数生成特定的平铺,javascript,phaser-framework,tiled,Javascript,Phaser Framework,Tiled,我有下面的地图创建与平铺软件,我想使胸部功能。事实上,我想知道球员和胸部何时重叠,但即使搜索几个小时,我也找不到解决办法 我正在使用ARCADE物理。我尝试使用对象层,但没有任何效果 一个非常简单的解决方案是将一个对象放置在胸部的一个单独的对象层中。 将地图加载到游戏中时,检查该层中的所有对象并将其存储在某个位置(例如列表中) 在你的比赛中,你可以很容易地检查你的球员是否与你的胸部重叠 提示: 可以为胸部对象指定id和其他参数来定义其行为 实现如下所示: 对象显示在.tmx中 <objec

我有下面的地图创建与平铺软件,我想使胸部功能。事实上,我想知道球员和胸部何时重叠,但即使搜索几个小时,我也找不到解决办法

我正在使用ARCADE物理。我尝试使用对象层,但没有任何效果


一个非常简单的解决方案是将一个对象放置在胸部的一个单独的对象层中。 将地图加载到游戏中时,检查该层中的所有对象并将其存储在某个位置(例如列表中)

在你的比赛中,你可以很容易地检查你的球员是否与你的胸部重叠

提示: 可以为胸部对象指定id和其他参数来定义其行为

实现如下所示:

对象显示在.tmx中

<objectgroup name="Container" offsetx="0" offsety="2">
  <object id="148" name="Chest1" x="72" y="3654">
   <properties>
    <property name="state" value="chest_closed"/>
    <property name="epic_Items" value="false"/>
    ...
   </properties>
  </object>
 </objectgroup>

...
现在只需将它们解析到游戏逻辑中

List<ItemContainer> lootableContainers = new List<ItemContainer>();
foreach (var o in curMap.ObjectGroups["Container"].Objects)
    lootableContainers.Add(new ItemContainer([o.params]));
List lootableContainers=new List();
foreach(curMap.ObjectGroups[“Container”].Objects中的var o)
添加(新的ItemContainer([o.params]);

您也可以使用“插入平铺”工具将胸部本身作为对象放置。这样可以避免平铺层和对象层之间的双重维护。