Programación Específica > DirectX

 Rendear Texto

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa