SoloCodigo
Programación Específica => Programación de Videojuegos => DirectX => Mensaje iniciado por: er Pedrol en Viernes 11 de Noviembre de 2005, 09:58
-
Hola a todos.
Tengo un problemilla, ya que aunque mi aplicación compila bien, al terminar esta en el Depurar aparece siempre un error que se repite siempre:
Direct3D9: (ERROR) :Present not allowed between BeginScene and EndScene. Present fails.
Direct3D9: (ERROR) :BeginScene, already in scene. BeginScene failed.
Lo he comprobado todo y parece que todo está bien, ¿será algo del enlace con las librerias DX?
¿Sabeis a que se debe? ¿Y que es lo que tengo que hacer para que no salga más?
Estoy compilando con .NET pero el código es C.
Muchas gracias.
-
dejanos ver el codigo por favor.
-
El código es éste:
// bucle del juego
void Game_Run(HWND hwnd)
{
//empieza el renderizado
if (d3ddev->BeginScene())
{
//borra el backbuffer
d3ddev->StretchRect(back,NULL,backbuffer,NULL,D3DTEXF_NONE); //carga el fondo en el back buffer
//para el renderizado
d3ddev->EndScene();
}
//muestra el backbuffer sobre la pantalla
d3ddev->Present(NULL,NULL,NULL,NULL);
}
Con solo eso me da ese problema en el Debuger.
-
trata de cambiarlo por esto y cuentame que ocurre.
// bucle del juego
void Game_Run(HWND hwnd) {
d3ddev->Clear( 0,NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 0,0);
//empieza el renderizado
d3ddev->BeginScene()
//Aqui adentro yo uso el LPD3DXSPRITE porque mi juego es 2D...
//para el renderizado
d3ddev->EndScene();
//muestra el backbuffer sobre la pantalla
d3ddev->Present(NULL,NULL,NULL,NULL);
}
-
Pues sí Neko-sama, tengo que poner el:
d3ddev->Clear( 0,NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 0,0);
Creo que por eso dice que falla, por que lo que dibujo en escena ya esta cargado y tenia que limpiarlo. ¿estoy en lo cierto?
Yo también estoy intentando hacer algunas cosillas en 2D, mi intención en hacer un pequeña fase de COMANDOS con algunas de sus cualidades. Lo malo es que no tengo los sprites de los soldados ya que soy muy mal dibujante y además tengo muy poco tiempo. ¿donde puedo colgar lo que tengo hecho (.exe) para que le deis un vistazo toda la peña del foro?
-
no me quedó muy claro si te funcionó o no...
y por lo de tu EXE, lo puedes subir al ftp del foro...
buscalo en los temas en el main del foro con el nombre de "FTP SoloCodigo", ahi sale toda la información que necesitas.
-
Ya funciona bien Neko-sama.
Pero lo de colgar el EXE en el servidor me da problemas, ya que dice que windows no tiene acceso a dicha carpeta.
-
supongo que estas usando el IE como cliente de FTP... debe ser un problema de que tiene que conectarse en modo pasivo y eso lo configuras en las configuraciones avanzadas del IE.
aun asi... usa otro programa... el CuteFTP es muy bueno! buscalo!