将“怪物”添加到TileMap - LIBGDX

时间:2013-12-10 03:08:46

标签: java libgdx

感谢很多人愿意亲切地分享他们的帮助,我已经能够阅读瓷砖地图并将我的播放器开头添加到瓷砖地图

for (int x = 0; x < layer3.getWidth(); x++) {
    for (int y = 0; y < layer3.getHeight(); y++) {
        TiledMapTileLayer.Cell cell = layer3.getCell(x, y);
        if (cell == null)
            continue;
        if (cell.getTile() == null)
            continue;
        if (cell != null) {
            TiledMapTile tile = cell.getTile();
            if (tile != null) {
                if (layer3.getCell(x, y).getTile().getProperties()
                            .containsKey("Start"))
                            player.position.set(x, y);     

但是我想把我的怪物放在像玩家一样的瓷砖地图上,除了我在瓷砖地图上有多个地方来产生怪物。下面的代码只允许我产生一个怪物

for (int x = 0; x < layer2.getWidth(); x++) {
    for (int y = 0; y < layer2.getHeight(); y++) {
        TiledMapTileLayer.Cell cell = layer2.getCell(x, y);
        if (cell == null)
            continue;
        if (cell.getTile() == null)
            continue;
        if (cell != null) {
            TiledMapTile tile = cell.getTile();
            if (tile != null) {
                if (layer2.getCell(x, y).getTile().getProperties()
                        .containsKey("monster"))
                        monsters.position.set(x,y);

我怎么能产生多个怪物而不是一个? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

有一个怪物列表

Array<Monster> monsters = new Array<Monster> //libgdx Array

而不是这个:

monsters.position.set(x,y); //wrong!

添加一个新怪物:

monsters.add(new Monster(x, y)); //right!

当然,使用怪物构造函数中的参数x和y来设置它的位置。