Los colores de ShapeRenderer dejan de funcionar al renderizar imágenes con SpriteBatch
He hecho un juego que usa ShapeRenderer
para hacer líneas coloreadas. Esto funcionó bien, pero cuando empiezo a importar imágenes las líneas de color de repente se convirtió en negro. Lo peor de todo: cuando estoy usando un fondo de las líneas no se muestra en absoluto, y sí, estoy dibujando en el orden correcto ….
Código para importar y renderizar las imágenes:
- Búsqueda de píxeles de borde de una imagen con envolvente transparente (para detección de colisión)
- Andengine Sprites aparecen como cajas negras
- Texturas en OpenGL ES 2.0 para Android
- ¿Los OpenGL Point Sprites funcionan en Android?
- Crear un gráfico al azar, seno como sprite paisaje
Constructor(){ TextureAtlas atlas = new TextureAtlas(Gdx.files.internal("data/texture.atlas")); AtlasRegion region = atlas.findRegion("path"); Sprite sprite = new Sprite(region); }
……………………………………
@Override public void render() { Gdx.gl.glClearColor(255, 255, 255, 1); Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); batch.begin(); background.draw(batch); // drawing the background drawing.draw(); // drawing the lines drawObjects(); // drawing some pictures batch.end(); }
Pero cuando quito el código para rnedering el fondo y los cuadros las líneas aparecerán para arriba y en el color derecho.
¡¡Por favor ayuda!!
EDIT: Dibujo con el ShapeRenderer
parece a esto (No tiene que poner todo en):
public void draw() { shaperenderer.begin(ShapeType.Line); shaperenderer.setColor(Color.RED); shaperenderer.line(1, 1, 100, 100); shaperenderer.end(); }
- LibGDX 1.5 girando sprite alrededor de su centro
- Sprite.setImage () en andengine
- Chase cámara con sprite en andengine
- Cómo dibujar LibGDX Sprite de Constructor en blanco
- Convertir juego Spritekit a Android?
- Mover sprite en Andengine
- Android: animación de tween de un mapa de bits
- Cómo cargar sprite hoja con 5 filas y 5 columnas vista superior en android?
No puede anidar objetos que dependen del contexto de OpenGL. Específicamente, está anidando un ShapeRenderer.begin()
dentro de un SpriteBatch.begin()
. Si cambia el render para parecerse a esto:
batch.begin(); background.draw(batch); // drawing the background batch.end(); // end spritebatch context to let ShapeRenderer in drawing.draw(); // drawing the lines (with ShapeRenderer) batch.begin(); drawObjects(); // drawing some pictures batch.end();