SoloCodigo

Programación Específica => Programación de Videojuegos => DirectX => Mensaje iniciado por: er Pedrol en Viernes 11 de Noviembre de 2005, 09:58

Título: Error Al Compilar
Publicado 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.
Título: Re: Error Al Compilar
Publicado por: JuanK en Viernes 11 de Noviembre de 2005, 14:19
dejanos ver el codigo por favor.
Título: Re: Error Al Compilar
Publicado por: er Pedrol en Sábado 12 de Noviembre de 2005, 16:40
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.
Título: Re: Error Al Compilar
Publicado por: Neko-sama en Martes 15 de Noviembre de 2005, 18:02
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);

}
Título: Re: Error Al Compilar
Publicado por: er Pedrol en Martes 15 de Noviembre de 2005, 20:28
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?
Título: Re: Error Al Compilar
Publicado por: Neko-sama en Miércoles 16 de Noviembre de 2005, 14:21
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.
Título: Re: Error Al Compilar
Publicado por: er Pedrol en Jueves 17 de Noviembre de 2005, 14:03
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.
Título: Re: Error Al Compilar
Publicado por: Neko-sama en Jueves 17 de Noviembre de 2005, 17:19
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!