0

我正在使用 TMX 地图中的平铺地图在 andEngine 中开发游戏我有河流对象,我希望玩家在落入河流后会死

但我不知道如何实现这个

我只能使用以下代码创建墙对象:

private void createUnwalkableObjects(TMXTiledMap map)
    {
        // Loop through the object groups
         for(final TMXObjectGroup group: this.mTMXTiledMap.getTMXObjectGroups()) 
         {
             if(group.getTMXObjectGroupProperties().containsTMXProperty("wall", "true"))
             {
                 // This is our "wall" layer. Create the boxes from it
                 for(final TMXObject object : group.getTMXObjects()) 
                 {
                    final Rectangle rect = new Rectangle(object.getX(), object.getY(),object.getWidth(), object.getHeight());
                    final FixtureDef boxFixtureDef = PhysicsFactory.createFixtureDef(0, 0, 1f);
                    PhysicsFactory.createBoxBody(mPhysicsWorld, rect, BodyType.StaticBody, boxFixtureDef);
                    rect.setVisible(false);
                    mScene.attachChild(rect);
                 }
             }
         }
    }

提前致谢

4

1 回答 1

1

Use the same code. In your TMX editor, create a new layer and add a property "danger" to it. You can then create any objects there (e.g. rectangles over your river tiles). Then add another if:

...
else if(group.getTMXObjectGroupProperties().containsTMXProperty("danger", "true"))
{
    // This is layer with dangerous objects (river etc)
    for(final TMXObject object : group.getTMXObjects()) 
    {
        // create sensor physics body and register collision detection
        // on collision, make the user die
    }
}
于 2013-05-20T03:36:00.943 回答