在libgdx中更改图像

时间:2014-10-07 13:37:42

标签: java image libgdx textures coordinates

所以我是libGDX的新手,我正在制作一个游戏,如果按下它旋转的图像,女巫意味着它会改变另一个图像。 但我不知道该怎么做,我想要一些帮助。

@Override
public void create () {

    spriteBatch = new SpriteBatch();
    font = new BitmapFont(true);
    camera = new OrthographicCamera();

    texture = new Texture(Gdx.files.internal("cable_side.png"));
    textureRegion = new TextureRegion(texture);
    textureRegion.flip(false, true);

    texture2 = new Texture(Gdx.files.internal("cable_l_1.png"));
    textureRegion2 = new TextureRegion(texture2);
    textureRegion2.flip(false, true);

    camera.setToOrtho(true, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());


}

@Override
public void render () {


    Gdx.gl.glClearColor(0.4f, 0.4f, 0.4f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    camera.update();
    spriteBatch.setProjectionMatrix(camera.combined);

    spriteBatch.begin();
    //font.draw(spriteBatch, "Hacking Time", 0, 0);
    spriteBatch.draw(textureRegion2, 0, 0);
    spriteBatch.draw(textureRegion, 32, 0);
    spriteBatch.draw(textureRegion, 64, 0);
    spriteBatch.draw(textureRegion, 96, 0);
    spriteBatch.draw(textureRegion, 128, 0);
    spriteBatch.draw(textureRegion, 160, 0);
    spriteBatch.draw(textureRegion, 192, 0);
    spriteBatch.draw(textureRegion, 224, 0);
    spriteBatch.end();
    }

这里有我所拥有的,第二个textureRegion在水平上,我想把它放在垂直上,删除前一个。 请帮忙!

1 个答案:

答案 0 :(得分:0)

有很多方法可以做你想做的事情,所以我建议你尝试阅读Libgdx提供的一些文档,Games From Scratch还有一些很好的教程。

但这并不是你所要求的......实现你想要的最简单方法之一就是使用Stage and Actors

执行此操作的步骤:

  1. 创建场景;
  2. 将Gdx输入处理器与舞台相关联;
  3. 创建皮肤以存储UI资源;
  4. 使用原始图像的up参数创建ImageButtonStyle,并与要交换的图像一起使用;
  5. 使用之前的ImageButtonStyle创建ImageButtons。
  6. 在另一个Stackoverflow Topic用户中,DannyBit提供了一个与文本按钮类似的代码片段。