我正在努力在地图上设置怪物,但我得到的只是将它放在相机坐标上。我尝试使用Tiled,最后我设置了我想要的怪物,但我不知道如何移动这个怪物。
这里来自Enemy class的相同代码
public Enemy() {
img = new Texture(Gdx.files.internal(path));
sprite = new Sprite(img);
batch = new SpriteBatch();
position = new Vector2();
}
public void update(float delta) {
batch.begin();
batch.draw(img, position.x, position.y);
batch.end();
}
还有Bot课,我从Tiled那里得到了怪物
public Bot(TextureMapObjectRenderer tiledMapRenderer, String name) {
this.tiledMapRenderer = tiledMapRenderer;
try {
monsterLayer = tiledMapRenderer.getMap().getLayers().get("monster");
monsterObjects = monsterLayer.getObjects();
monster = monsterObjects.get(name);
} catch (Exception ex) {
}
}
public void update(float delta) {
tiledMapRenderer.renderObject(monster);
}
答案 0 :(得分:0)
我使用TextureMapObject获取敌人/怪物的X和Y位置。我也创建了渲染MapObject的方法。
public void renderMonster(MapObject object) {
if (object instanceof TextureMapObject) {
TextureMapObject textureMonster = (TextureMapObject) object;
textureMonsters.add(textureMonster);
batch.begin();
batch.draw(textureMonster.getTextureRegion(), textureMonster.getX(), textureMonster.getY());
batch.end();
// move the monster
textureMonster.setX(randomMove(-1, 1).x + textureMonster.getX());
textureMonster.setY(randomMove(-1, 1).y + textureMonster.getY());
}
}
我知道这种方法并不完美,但它有效。