// Inicializamos la libreria
LooverLib::Init (LOV_DEBUG_MODE);
El siguiente paso es inicializar la ventana y el render. Para ello, existen dos métodos, la diferencia entre ambos radica en dejar o no que LooverLib se encargue de crear la ventana de la aplicación y de inicializar el render. Es decir, la librería da la opción de utilizar o no la clase LOV_Window para crear la ventana y el Init de la clase LOV_Render para inicializar Direct3D.
De esta forma, si deseas desentenderte de crear una ventana de windows, gestionar los mensajes e inicializar Direct3D, solo tienes que usar los métodos que proporciona LooverLib. Por ejemplo, para crear una ventana a 640x480x32 con el vsync desactivado en modo ventana:
LOV_Window Window; LOV_Render Render; if (!Window .Init ("Prueba", 640, 480, 32, 0, 0)) return 0; if (!Render .Init (&Window)) return 0;
Si por el contrario tu aplicación necesita un control total sobre la ventana y la inicialización de Direct3D y solo deseas usar LooverLib para el dibujo 2d, bastará con que a la hora de inicializar el render de LooverLib pases como parámetros los dos punteros principales de Direct3D (puntero a D3D y puntero al device).
LOV_Render Render; if (!Render .Init (mDirect3D, mDevice)) return 0;
El siguiente paso es inicializar aquellos administradores que vayamos a necesitar en nuestro proyecto. Basta con inicializar sólo aquellos que realmente tengamos intención de usar.
LOV_ImageManager ImageManager; LOV_SurfaceManager SurfaceManager; LOV_AnimationManager AnimationManager; LOV_FontManager FontManager; LOV_Entity2dManager Entity2dManager;
if (!ImageManager .Init ()) return 0; if (!SurfaceManager .Init (&ImageManager, &Render)) return 0; if (!AnimationManager .Init (&ImageManager, &SurfaceManager)) return 0; if (!FontManager .Init (&ImageManager, &SurfaceManager)) return 0; if (!Entity2dManager .Init (&Render)) return 0;
Por último, una vez terminada la ejecución principal del programa (o a mitad del mismo si fuera necesario) es recomendable liberar la memoria usada por los administradores.
Entity2dManager .End(); FontManager .End(); AnimationManager .End(); SurfaceManager .End(); ImageManager .End();
Y finalmente, liberar la propia librería
LooverLib::End ();
Ejemplos:
1.3.9.1
pixel art games