2012-02-21 83 views
6

Soy nuevo y comienzo mi viaje con libgdx. Me gustaría saber cómo puedo hacer image.png en resolución 960x640 como fondo en mi juego? ¿Esto es posible? Gracias por los consejos y la paciencia. Tal vez tienes un tutorial simple? Esta es mi clase de render:aplicación libgdx y android. Imagen como fondo

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(); 
} 

Segunda pregunta. Necesito insertar dos imágenes activas, medios activos cuando hago clic en esa imagen, la siguiente imagen me muestra en la pantalla. Quiero implementar una acción cuando hago clic en esa imagen.

Respuesta

7

En su método create(), cree una nueva Textura haciendo referencia a su image.png, y luego use su SpriteBatch existente para renderizarlo en el bucle render(). Inmediatamente después de su llamada GL.clear(), vaya a su batch.draw (backgroundTexture, 0. 0) y asegúrese de estar en modo OrthographicProjection para su cámara.

+0

me sale el error: Ancho de la textura y la altura deben ser potencias de dos: 960x640 – edi233

+15

Usted puede evitar esto anulando el poder de 2 check en la clase Texture. Al comienzo de su método create() principal, agregue esto: 'Texture.setEnforcePotImages (false);' – Shinzul

+2

^¿Eso afectará el rendimiento o la compatibilidad? –

0

primero hay que establecer el puerto de vista hacer esto en su método de crear

`SCRW float = 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();` 

crear una textura

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

poner esta textura en un sprite como esto

sprite=new sprite(texture);

y luego ajustar el tamaño como esto

sprite.setsize(960,640);

y dibujar en sus métodos de render entre batch.begin y batch.end

sprite.draw(batch);

Cuestiones relacionadas