libGdx - 图像背景

use*_*406 0 java android libgdx

我在libGdx中有背景问题.我试着解决我的问题:

"在你的create()方法中,创建一个引用你的image.png的新纹理,然后使用你现有的SpriteBatch在render()循环中渲染它.立即在你的GL.clear()调用之后,去你的batch.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();
Run Code Online (Sandbox Code Playgroud)

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

mor*_*s05 10

我认为你应该首先绘制你的背景图像.

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


ajc*_*edo 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();
    }
Run Code Online (Sandbox Code Playgroud)

我找到了这个在线资源,帮助我开始了libgdx的世界.我希望我一直很有帮助.