"Ningún juego dura tanto hasta que te lo terminas como el que te programas tú mismo,
ninguno te absorbe tanto y ninguno te produce tanta satisfacción cuando lo has acabado"
Programacion de videojuegos
Inicio Foro Otros temas Configuracion Visual C++
Jueves 19 de Septiembre del 2019

Menu principal
Colaborar (con PayPal)

Para continuar con el trabajo de esta Web y poder pagar el hosting, viene bien la ayuda que sea. Gracias a todos.

Importe: 

Ultimas descargas
19.Jan

Clase que permite dibujar texto en OpenGL con mucha facilidad.Usa FreeType2.Para ver que hace y c...


 Foro de UnSitioWeb :: Otros temas
Bienvenido/a Visitante   
Normas del foro   por Vicengetorix el 04-10-2009 02:30
 Asunto :Configuracion Visual C++.. 19-11-2009 08:02 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Hola,

Llevo poco usando el Visual C++ Express 2008, estoy por acabar un juego con SDL y OpenGL.

Cuando construyo el proyecto en modo "Release" lo hace bien e incluso funciona sin errores desde Visual C++ pero cuando me voy a ejecutar el exe saca bien la pantalla del menu pero cuando me paso al juego (gameplay) truena, simplemente manda la ventana de "Enviar Errores" o "No enviar".

Otra cosa que sucede es: Ejecuto el exe, me muestra bien el menu, voy a la pantalla de instrucciones y todo bien, cuando regreso al menu, la textura de fondo la cambia por otra textura que es un texto que pertence al menu.

Que podría estar pasando???

Gracias
Saludos
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 19-11-2009 18:37 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Cuando ejecutas desde el IDE,aún en modo release, el VC está en medio haciendo algo parecido a debug. Aunque normalmente sea lo mismo, la ejecución de verdad es la del exe.

El fallo, por lo que a mi me ha pasado, lo mas normal es que sea un problema de acceso a memoria no reservada, bien porque te sales de rango en un array o porque un puntero no tiene el valor que debe (es conveniente siempre inicializar los punteros a NULL y comprobar si es o no NULL al usarlos o liberar su memoria).

El segundo tema tiene pinta de que se te ha olvidado hacer bind de la textura cada vez que pintas el fondo. A veces se hacen cosas al inicializar el programa y luego, cuando complicas más el programa te olvidas de incluir cosas en el bucle principal o en algún momento determinado de la ejecución (como un cambio de pantalla por ejemplo).
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 22-11-2009 09:37 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Hola,

Gracias por tu respuesta.

El primer error ya logre corregirlo, pero aún me sigo peleando con el 2do.

Hice un pequeño framework para hacer mas rapido el desarrollo de juegos con SDL y OpenGL. Cuando inicia el programa inicio SDL, OpenGL y los recursos del juego con el primer estado, el del Menu, que es el que se pintará primero. Esta iniciliazación queda fuera del gameloop.

Después de que entra al gameloop y esocojo la opción de jugar, el fondo me lo cambia por el texto que representa la puntuación, si pongo la pausa, me pone el último texto que dibuja en pantalla como background. Si regreso al Menu me lo pinta bien, sin problemas, por lo que el único error es cuando estoy en el Menu y me voy a la opcion de Jugar.

Si cargo el estado de Jugar como pantalla inicial funciona bastante bien, me puedo ir al menu sin problemas pero si regreso a la pantalla de jugar vuelve a fallar.

He revisado toda la carga de texturas y en todas esta el Bind.

Tendrán alguna idea de que pasa??? No se si me falta alguna configuración, todo el dibujo de gráficos lo hago via OpenGL.

Todo funciona perfecto dentro del VC pero fuera (ejecutando el exe) es cuando los problemas vienen.

Gracias
Saludos
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 22-11-2009 23:50 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
No creo que sea nada de configuración de VC.
Solo se me ocurren dos posibles causas.
Alguna variable no inicializada que toma valores distintos en la execución desde VC o desde fuera, o que no encuentre la textura. Cuando ejecutas desde VC el directorio activo es en el que está el proyecto, sin embargo el executable lo genera en el directorio debug o release, dentro del directorio de proyecto.
¿Cuando ejecutas el exe, lo copias antes al directorio del proyecto?.
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 24-11-2009 06:59 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Hola,

Gracias por tu respuesta Vicengetorix.

Tengo el siguiente equema para organizar los diferentes archivos en VC:

MiJuego
|- bin
|- include
|- lib
|- project
|- MiJuego
-|- MiJuego
--|- Debug
|- resources
|- src

En mi configuración pongo como directorio de salida la carpeta bin y ahi me genera el exe que es el que finalmente ejecuto. En el directorio bin tengo todos los DLL además del directorio resources que contiene las imagenes, fuentes y sonidos del juego.

He seguido probando y he notado que si quito algun Bind cuando cargo la textura, genera problemas como el que tengo, cambia la imagen de fondo por otra textura, sigo sin entender que sucede, todos los bind estan en su lugar y en modo debug funciona todo perfecto pero no asi por afuera.

Gracias
Saludos
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 24-11-2009 08:31 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Prueba a copiar el exe al directorio donde esta el fichero del proyecto VC (.vcproj) a ver que pasa.
Si no funciona yo probaria a compilar en modo release, que es la version buena a ver si asi funciona.
Si no, solo se me ocurre algun bug de codigo.
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 25-11-2009 21:12 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Hola,

Hice lo que me dijiste de pasar el exe a donde esta el archivo .vcproj pero sigue igual.

Ahora construi en modo debug también me genera un exe y ese funciona bastante bien (ejecutando el exe, desde fuera), pero con ese tengo el problema de que no corre en otras computadoras. ¿No sabes que tengo que hacer para distribuirlo de manera correcta?

Si contruyo en modo release viene el problema de la textura de fondo. Y creo que esta liberación sería la correcta.

Gracias
Saludos
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 26-11-2009 03:32 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Si en debug funciona y en release no, habra que revisar la configuracion del proyecto en cada caso, librerias, optimizacion, ... hay muchos parametros. A mi nunca me ha pasado algo asi, aunque yo suelo trabajar con la version release desde el principio.

Si no consigues nada puedes intentar compilar con otro compilador a ver si se reproduce el error, en cuyo caso seria un tema del codigo (no se si es posible por las librerias que hayas usado).

Suerte.
IP Logged
Página # 


Powered by ccBoard




Banner