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.
Título: Re: Rendear Texto
Publicado por: Neko-sama en Lunes 20 de Febrero de 2006, 05:37
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
Título: Re: Rendear Texto
Publicado por: lalo_soft en Lunes 20 de Febrero de 2006, 16:16
Mmmm!.Siguendo tu consejo estuve leyendo unos libros de DX9 para C# que importe de USA, Sprite.Flush(),lo que hace es vaciar la memoria secundaria donde previamente fueron colocados los sprites a la memoria primaria(pantalla) a difencia de Sprite.End() que hace lo mismo pero ademas cierra todo el manejo de esprites. Asi que utilice Sprite.Flush() luego coloco el texto y puedo seguir trabajando con nuevos sprites y al final cierro todo.
Citar
(despues de llamar al metodo Draw)
Del metodo Draw() ya hay que irse olvidando y pasarse al Draw2D() que biene en en espacio de nombres DirectX.Direct3D.Lo malo con lo que me he topado es que ahora no puedes escalar tus sprite a un tamaño que quieras,solo a factores de escala previamente establecidos.
Título: Re: Rendear Texto
Publicado por: Neko-sama en Martes 21 de Febrero de 2006, 13:16
yo programo en Visual C++...
aunque no tiene nada que ver el lenguaje...
yo uso la interfaz LPD3DXSPRITE que solo tiene el metodo Draw y es la forma de pintar sprites con Microsoft Direct3D que se obtiene cuando usas la funcion D3DXCreateSprite y todo está en la librería D3dx9.lib
mira... yo uso todo eso y funciona muy bien... no me ah dado problemas...
dime si usas lo mismo o otra cosa mejor para actualizarme si es necesario :hola:
Título: Re: Rendear Texto
Publicado por: lalo_soft en Martes 21 de Febrero de 2006, 16:32
Tengo el SDK de Octubre 2005 y la documentacion dice que a futuro le quita el soporte a DirectDraw o sea se quedo como esta y no haran mejoras en esa libreria y lo sacaran de los futuros SDKs .El SDK octubre 2005 aun trae el DirectDraw para C# no se si para C++,la forma en tu lo haces es en el fondo con Direct3D (pense que era el metodo Draw de DirectDraw), por lo que no creo que tengas problemas a futuro.Todos estos cambios los hacen a nivel del SDK pero no sobre la version End_User para que los juegos antiguos sigan corriendo.
Algo de Historia.
DirectDraw fue el primer componente Direct escrito por Team de la epoca (El SDK Game)y la demostracion de una animacion llamada Budsy se utiliso para vender el proyecto completo a los ejecutivos de microsoft. DirectDraw fue por mucho tiempo la piedra angular de DirectX y otros componentes como Direct3D se basan el.
Pero como el tiempo pasa para todos y todo, me dicen que SDK diciembre 2005 ya no trae DirectDraw.