有了diff人们的大力帮助,愿意分享他们的帮助,我已经能够读取tilemap并将播放器添加到tilemap中

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);


但是我也想像玩家一样将怪物放置在tilemap上,除了我在tilemap上有多个放置怪物的地方。下面的代码将只允许我生成一个怪物

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);


我如何产生多个怪物而不是一个?
先感谢您!

最佳答案

有怪物列表

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


而不是:

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


添加一个新的怪物:

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


当然,在怪物构造器中使用参数x和y设置其位置。

关于java - 将“怪兽”添加到TileMap-LIBGDX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20485278/

10-13 00:07