La búsqueda global no está activada.
Salta al contenido principal
Foro

Foro del Módulo 3

Dudas sobre el Módulo 3

Dudas sobre el Módulo 3

de Antonio Mora García - Número de respuestas: 3

Hola a tod@.

En este hilo podéis plantear vuestras dudas o comentarios sobre los contenidos del Módulo 3 del MOOC.

Os las responderemos a la mayor brevedad. ;)

Un saludo.


En respuesta a Antonio Mora García

Re: Dudas sobre el Módulo 3

de Odin Manuel Moron Garcia -
Buenas Antonio, tenía una duda sobre el apartado de las bibliotecas, frameworks y motores de juegos, ya que no veo la separación.
En concreto, nos presenta pygame como biblioteca que contiene las funciones para la creación del juego, por ejemplo yo usé la librería para aprovechar las funciones de colisión de mascaras de bits, pero los separa de los "frameworks". Clasifica framework como aquél que gestiona el game loop. Mi experiencia con pygame es que hacia eso, aunque no sé si era obligatorio. Me explico, cada tutorial de pygame comienza con "pygame.init()", función que parece "cargar" un montón de "variables globales" e iniciar la pantalla principal "screen", y luego ya todo es o dibujar en la pantalla o tomar evento. En ese sentido, parece que pygame tiene por un lado la librería y por otro un proto-framework. Pero cual sería entonces la distinción con un framework "de verdad"?
Un saludo y muchas gracias.
En respuesta a Odin Manuel Moron Garcia

Re: Dudas sobre el Módulo 3

de Antonio Bailón -

Hola

La clave está en "¿quién controla qué se ejecuta en cada momento?"

En una biblioteca es el programador quien decide en cada momento qué ha de ejecutarse, haciendo llamadas a las funciones que ofrece dicha biblioteca (pygame.init() es una de esas funciones). Has de programar el bucle principal del juego y planificar en qué momento se realizan las tareas necesarias. El programador lo planifica todo. Por ejemplo, decides cuándo ha de actualizarse la pantalla y qué quieres dibujar en ella.

En un framework, el programador se "limita" a implementar las funcionalidades que serán llamadas por dicho framework, que es quien controla qué se ejecuta en cada momento. El framework tiene un plan y tan solo necesita que le digas qué hacer en cada una de las etapas de su plan. Esto es el control invertido. Para actualizar lo que se ve en la pantalla el framework te dice "cuando yo decida actualizar la pantalla llamaré a una función render(), así que debes implementar lo que esa función va a hacer". El programador rellena los huecos del plan del framework.

Bibliotecas y frameworks ofrecen una abundante cantidad de funciones especializadas que permiten al programador un trabajo eficiente. Esto hace que con frecuencia confundamos unas con otros.

En respuesta a Antonio Bailón

Re: Dudas sobre el Módulo 3

de Odin Manuel Moron Garcia -
Muchisimas gracias por tu respuesta Antonio! Creo que pillo la diferencia, en el fondo ... podria no llamar al init() y seguir usandola!
Incluso en los temas web nunca tuve claro esta diferencia biblioteca/framework, pero parece que la distinción es la libertad y la cantidad de trabajo previo a hacer.

Un saludo y gracias por todo el curso.
Odin