Java 获取TextureAtlas中用于创建精灵的名称的方法

Java 获取TextureAtlas中用于创建精灵的名称的方法,java,libgdx,Java,Libgdx,我有一个使用此构造函数创建精灵的类: private Sprite sprite; public Terrain(Sprite sprite) { this.Sprite = sprite; } 我将这些地形精灵放入2d阵列中,如下所示: TextureAtlas atlas = new TextureAtlas("atlas.pack"); tiles[0][0] = new Terrain(atlas.createSprite("road"); tiles[0][1] =

我有一个使用此构造函数创建精灵的类:

private Sprite sprite;
public Terrain(Sprite sprite) {
        this.Sprite = sprite;
}
我将这些地形精灵放入2d阵列中,如下所示:

TextureAtlas atlas = new TextureAtlas("atlas.pack");
tiles[0][0] = new Terrain(atlas.createSprite("road");
tiles[0][1] = new Terrain(atlas.createSprite("grass");
[...]
new Terrain(atlas.createSprite("road"), TerrainType.ROAD);
我还有一个玩家类,可以在我的棋盘上走动,玩家的位置存储在类中。我希望在我的terrain类中有一个方法返回它是哪种类型的地形,例如道路或草地。我想这样做,使球员的行为不同,这取决于他站在什么样的地形和移动

用我的代码能做到这一点吗?
我只是考虑扩展我的构造函数并添加一个与使用的纹理相同的字符串,但我想可能有更简单的方法来做。p> 实际上,您可以为地形类创建一个TerrainType属性,类似于:

private Sprite sprite;
private TerrainType terrainType;
public Terrain(Sprite sprite, TerrainType terrainType) {
        this.sprite = sprite;
        this.terrainType = terrainType;
}
其中TerrainType可以是枚举:

enum TerrainType {
    GRASS, ROAD;
}
然后像这样实例化TerrainType:

TextureAtlas atlas = new TextureAtlas("atlas.pack");
tiles[0][0] = new Terrain(atlas.createSprite("road");
tiles[0][1] = new Terrain(atlas.createSprite("grass");
[...]
new Terrain(atlas.createSprite("road"), TerrainType.ROAD);