Bienvenidos nuevamente al curso Cocos2D en Python, el día de hoy vamos a entrar ahora sí a trabajar directamente con el framework y a familiarizarnos con algunos de los conceptos más importantes y que es esencial dejarlos completamente claros ya que los usaremos a lo largo de todo el curso y forman las bases de nuestros proyectos.
Primero vamos a explicar los conceptos y luego vamos a programar el clásico ejemplo del ‘Hola Mundo’, ejemplo obligado cuando estamos aprendiendo un nuevo lenguaje o una nueva librería, y también como veremos recoge todos los conceptos de los cuales hablaremos en la primer parte. Los conceptos en los cuales nos detendremos hoy son:
Nos basaremos en la analogía de un estudio de cine, donde se está grabando una película ya que nos sirve para ejemplificar muy bien estos conceptos. Ya lo veremos.
Ésto lo que significa, en términos que podamos entenderlo sin necesidad de saber patrones de diseño, es que en todo el ciclo de vida de la aplicación, en todo momento que nuestra aplicación esté corriendo, solo habrá un, y solo un objeto de la clase director, así que cuando hagamos una llamada a algún método o algún atributo de director, siempre se hará la llamada a la única instancia de este objeto.
En la analogía de la película que estamos grabando esto tiene mucho sentido, lo ideal es que sea solo un director, una sola persona la encargada de decir que ESCENA sigue y de DIRIGIR la escena actual. No tiene sentido tener más de un director ya que solo crearía confusión.
En lenguaje de Cocos, podemos decir que esta clase es la encargada de manejar las Escenas, que las veremos a continuación, por lo que sabe cuál está activa, llama una escena, pausa una escena, reemplaza la escena actual o la finaliza, también es el encargado de inicializar la ventana principal de la aplicación, y lo encontramos dentro de cocos.director, en el ejemplo veremos esto más claro y por supuesto profundizaremos en este y los siguientes conceptos en videos posteriores.
Por último decir que todos estos conceptos pertenecen a su determinada clase de la cual podremos crear instancias en nuestros proyectos, y mencionar que todas, menos director, descienden de una clase en común llamada CocosNode, de la cual nos ocuparemos más adelante, pero que nos es útil saber en este momento que por ese simple hecho, todas estos objetos pueden ser transformados o animados, veremos luego ésto qué implica.
Podríamos decir, a grosso modo, que juego está compuesto por Escenas, que a su vez están compuestas por Capas y que las capas están compuestas por Sprites. Todo esto de un modo muy simplificado, a veces no es tan sencillo pero por ahora nos basta.
Terminamos por ahora la teoría, un video muy denso y con muchos conceptos nuevos y bastante importantes por lo que no está de más tener anotado lo que tratamos en este tema para tener estas definiciones a la mano en caso de necesitar refrescar los conceptos que acabamos de ver. Ahora sí vamos a la parte divertida, y la cual estamos ahora en capacidad de entender mucho más, si algo no queda del todo claro, no te preocupes, estoy seguro que con el pasar de las lecciones todo quedará completamente entendido.
También les dejo acá el enlace para descargar los recursos que vamos a estar usando, vamos a descargar la carpeta y a copiarla a la carpeta donde estamos escribiendo nuestro código https://mega.nz/folder/tR00RagY
Para dar mayor claridad a la explicación dejo el video donde se ve claramente la forma en que se programa. La parte de la programación empieza en el minuto 5:56
Primero vamos a explicar los conceptos y luego vamos a programar el clásico ejemplo del ‘Hola Mundo’, ejemplo obligado cuando estamos aprendiendo un nuevo lenguaje o una nueva librería, y también como veremos recoge todos los conceptos de los cuales hablaremos en la primer parte. Los conceptos en los cuales nos detendremos hoy son:
- Director
- Escena
- Layer
- Sprite
Nos basaremos en la analogía de un estudio de cine, donde se está grabando una película ya que nos sirve para ejemplificar muy bien estos conceptos. Ya lo veremos.
Director o director
Es un objeto Singleton.Ésto lo que significa, en términos que podamos entenderlo sin necesidad de saber patrones de diseño, es que en todo el ciclo de vida de la aplicación, en todo momento que nuestra aplicación esté corriendo, solo habrá un, y solo un objeto de la clase director, así que cuando hagamos una llamada a algún método o algún atributo de director, siempre se hará la llamada a la única instancia de este objeto.
En la analogía de la película que estamos grabando esto tiene mucho sentido, lo ideal es que sea solo un director, una sola persona la encargada de decir que ESCENA sigue y de DIRIGIR la escena actual. No tiene sentido tener más de un director ya que solo crearía confusión.
En lenguaje de Cocos, podemos decir que esta clase es la encargada de manejar las Escenas, que las veremos a continuación, por lo que sabe cuál está activa, llama una escena, pausa una escena, reemplaza la escena actual o la finaliza, también es el encargado de inicializar la ventana principal de la aplicación, y lo encontramos dentro de cocos.director, en el ejemplo veremos esto más claro y por supuesto profundizaremos en este y los siguientes conceptos en videos posteriores.
Escena o Scene
Vamos ahora a conocer la clase Escena, y que podemos ver en nuestra analogía como las diversas partes de la película, donde hay una serie establecida de personajes y una lógica común a lo que sucede en ella. En Cocos vamos a definirlas como:Componentes individuales que componen un juegoUna escena puede ser el nivel 1, otra escena puede ser el nivel 2, otra puede ser el menú de pausa y otra sería el menú principal, todas ellas son independientes pero se unen entre sí a través de una lógica interna, como por ejemplo, podemos definir una lógica que vaya de la Escena ‘Menú Principal’ o la Escena ‘Nivel 1’ al pulsar la tecla Enter, por ejemplo. Un juego, o una aplicación en Cocos está conformada por una o más Escenas, y como vimos antes, será el Director el encargado de manejarlas, asegurándose que solo haya una y solo una, escena activa en cada momento. La forma más común de organizar las escenas y los elementos que las componen son las capas.
Capa o Layer
Las Capas o Layers, podemos verlas como hojas transparentes donde los elementos de la escena serán dibujados, pudiendo apilar una hoja sobre otra y así componer una escena completa pero separando elementos con ciertas características en común, como la distancia a la cámara, o la función que cumplen en el juego. En las capas se suele definir mucha de la funcionalidad, por ejemplo es común que sean éstas las que capturen y manejen los eventos, pero eso lo veremos luego.Sprite
Por último, vamos a conocer los Sprites, un elemento común en todos los juegos 2D y que no son más que una imagen en dos dimensiones con la que podremos trabajar en nuestra aplicación, sea animándola o aplicándole transformaciones para dotar de atractivo visual a nuestros proyectos.Por último decir que todos estos conceptos pertenecen a su determinada clase de la cual podremos crear instancias en nuestros proyectos, y mencionar que todas, menos director, descienden de una clase en común llamada CocosNode, de la cual nos ocuparemos más adelante, pero que nos es útil saber en este momento que por ese simple hecho, todas estos objetos pueden ser transformados o animados, veremos luego ésto qué implica.
Podríamos decir, a grosso modo, que juego está compuesto por Escenas, que a su vez están compuestas por Capas y que las capas están compuestas por Sprites. Todo esto de un modo muy simplificado, a veces no es tan sencillo pero por ahora nos basta.
Terminamos por ahora la teoría, un video muy denso y con muchos conceptos nuevos y bastante importantes por lo que no está de más tener anotado lo que tratamos en este tema para tener estas definiciones a la mano en caso de necesitar refrescar los conceptos que acabamos de ver. Ahora sí vamos a la parte divertida, y la cual estamos ahora en capacidad de entender mucho más, si algo no queda del todo claro, no te preocupes, estoy seguro que con el pasar de las lecciones todo quedará completamente entendido.
Hola Mundo
Para el caso yo voy a usar Visual Studio Code, pero podemos trabajar con cualquier editor de código.También les dejo acá el enlace para descargar los recursos que vamos a estar usando, vamos a descargar la carpeta y a copiarla a la carpeta donde estamos escribiendo nuestro código https://mega.nz/folder/tR00RagY
Para dar mayor claridad a la explicación dejo el video donde se ve claramente la forma en que se programa. La parte de la programación empieza en el minuto 5:56
Hola!!! genial el curso hasta aca, el link de mega me pide una clave de cifrado, saludos!
ResponderEliminarponeme los recurso papurri
ResponderEliminar