2012-02-21 46 views
6

我是新来的,我刚开始我的旅程与libgdx。我想知道我在我的游戏中如何在960x640分辨率下做image.png作为背景?这个有可能? Thx的建议和忍耐。也许你有一个简单的教程? 这是我的渲染类:libgdx和android应用程序。图片作为背景

public void render() { 

    texture = new Texture(Gdx.files.internal("E:/background.png")); 

    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    batch.begin(); 
    batch.draw(texture, 0, 0); 
    batch.end(); 
} 

第二个问题。我需要插入两个活动图像,主动意味着当我点击该图像时,下一个图像会显示在屏幕上。我想在点击该图片时执行操作。

回答

7

在create()方法中,创建一个引用image.png的新Texture,然后使用现有的SpriteBatch在render()循环中渲染它。在GL.clear()调用之后立即执行batch.draw(backgroundTexture,0.0),并确保您处于相机的OrthographicProjection模式。

+0

我得到错误:纹理的宽度和高度必须是两个大国:960×640 – edi233 2012-02-21 20:49:05

+15

你可以解决这个问题覆盖Texture类中2检查的权力。在主create()方法的开头,添加: 'Texture.setEnforcePotImages(false);' – Shinzul 2012-02-22 16:23:37

+2

^这会影响性能或兼容性吗? – 2012-03-11 20:23:43

0

首先你要设置的视口 在创建方法

`浮SCRW = 960做到这一点; float scrh = 640;

camera = new OrthographicCamera(); 
    camera.viewportHeight = scrh; 
    camera.viewportWidth = scrw; 

    camera.position.set(camera.viewportWidth * .5f, 
      camera.viewportHeight * .5f, 0f); 
    camera.update();` 

创建纹理

texture = new Texture("data/background.png");

把这个纹理精灵这样

sprite=new sprite(texture);

,然后设置大小像这样

sprite.setsize(960,640);

和batch.begin 和batch.end之间的渲染方法绘制

sprite.draw(batch);