libGdx - 图像背景

时间:2013-07-12 20:18:58

标签: java android libgdx

我在libGdx中遇到背景问题。 我尝试用这个来解决我的问题:

“在你的create()方法中,创建一个引用你的image.png的新纹理,然后使用现有的SpriteBatch在render()循环中渲染它。立即在你的GL.clear()调用后,转到你的批处理.draw(backgroundTexture,0。0)并确保你的相机处于OrthographicProjection模式。“

我这样做:

    public void render() {
        Gdx.gl.glClearColor(0, 0, 0, 1);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
        camera.update();
        batch.setProjectionMatrix(camera.combined);
        batch.begin();

        batch.draw(image, 250, 200);
        batch.draw(backGroundImage, 0, 0);

        batch.end();

“image”是我的正常纹理(它是简单的图像),“backGround”是ofc。我的背景。 我的“backGround”应用于我的create()方法。我的相机在 camera = new OrthographicCamera();。 这是我看到的: ...我需要10点声望来添加图像:< ...图像是短的并且切断左边和右边... 我做错了什么。在这个解决方案a link!和[熊猫] [1] Shinzul的参考风格链接说了一些关于循环in render(),也许这是我的问题,但我不知道如何解决这个问题。 请帮忙。

4 个答案:

答案 0 :(得分:10)

我认为你应该首先绘制背景图片。

此外我认为你应该看一些教程,例如https://github.com/libgdx/libgdx/wiki/Spritebatch%2C-Textureregions%2C-and-Sprites。它解释了libgdx的相同基本概念。

答案 1 :(得分:5)

    public static Texture backgroundTexture;
    public static Sprite backgroundSprite;
    private SpriteBatch spriteBatch;

    private void loadTextures() {
        backgroundTexture = new Texture("images/background.png");
        backgroundSprite =new Sprite(backgroundTexture);
        .
        .
    }

    public void renderBackground() {
        backgroundSprite.draw(spriteBatch);
    }

    public void render() {
        spriteBatch.begin();
            renderBackground(); //In first place!!!!
            drawStuff();
            drawMoreStuff();
            drawMoreMoreStuff();
        spriteBatch.end();
    }

我找到this online resource并帮助我开始了libgdx的世界。 我希望我一直很有帮助。

答案 2 :(得分:0)

只需使用 Gdx 设置设备 hight 宽度,就可以帮助我

func main() {
    qnamecsv,_:=os.Open("top-1m.csv")
    reader:=bufio.NewReader(qnamecsv)
    for {
      line,_,_:=reader.ReadLine()
        fmt.Println("%s",line)
    }
    var nameserver string = "8.8.8.8"
    var qname string = "hostname from qname csv"

答案 3 :(得分:0)

我不知道这是否是最好的方法,但这对我有用。

sprite.scale(2);
sprite.setCenter(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);

您可以在(int)中更改比例,直到它覆盖整个屏幕。