Programación Específica > DirectX
Rendear Texto
lalo_soft:
Tengo un problema al rendear texto combinado con sprites(usando las clases 2D incluidas en el Direct3D)
Ej:
1.- Render Sprite1 //Fondo tamaño pantalla 800x600
2.- Render Sprite2 //Imagen simitransparente
3.- Render Texto //encima de los dos anteriores
En ese orden y solo se ven los Sprites no el texto.
desconecto el Sprite1(Fondo) aparece el texto debajo del Sprite2 que como es translucido se alcaza a ver (algo tenue) el texto.
Al parecer el texto se imprime primero (pese aque le doy la orden al ultimo)que los sprites
--- Código: Text ---font.DrawText(null,text,new Rectangle(screenX,screenY,200,100), DrawTextFormat.WordBreak, color); Como ven en el codigo uso la clasica funcion para rendear Texto
lalo_soft:
Ya di con la solucion :comp: :comp:
Neko-sama:
y cual era?
lalo_soft:
--- Código: Text --- private void InitRender() { device.Clear(ClearFlags.Target,System.Drawing.Color.Black,1.0f,0); device.BeginScene(); sprites.Begin(SpriteFlags.AlphaBlend); } private void EndRender() { sprites.Flush(); sprites.End(); device.EndScene(); device.Present(); }
Entre esto dos metodos Rendeo todas las imagenes,como ven al final del del primer metodo hay un sprites.Begin(bla..,bla..); que inicia el render de los Sprites (que al parecer tomo todo el control del hardware de video y solo puedo colocar Sprites).La solucion es que tuve que hacer un sprites.End(); anticipado (fuera del metodo private void EndRender()) luego dibujo el Texto y entonces llamo a EndRender.
Neko-sama:
creo que lo que hace el sprites.End() es hacer un sprites.Flush()...
yo tube un problema con algo parecido...
en mi juego... los personajes se mueven en el eje Y y pueden estar delante o detras de otro al moverse arriba o abajo... no me funcionaba bien hasta que hice un flush por cada render pintado... (despues de llamar al metodo Draw)
y asi se solucionó....
supongo que puede ayudarte lo mismo y no tendras problemas despues con el orden de pintado de tus renders
Navegación
[#] Página Siguiente
Ir a la versión completa