Contents |
La jerarquía GameObject se compone de instancias de GluonEngine:: GameObject en una estructura de árbol con un sistema de elementos primarios y secundarios, cada uno con cualquier número de instancias de GluonEngine::Component. Los componentes proporcionan la mayor parte de la lógica en el juego, y ya que muchos son utilizables en varios lugares, Gluon viene con un número de componentes pre-creados (como una Cámara, Controladores de entrada, MeshRenderer, TextureRenderer y así sucesivamente).
La lógica detrás de la creación de este sistema es permitir al programador la encapsulación y crear componentes reutilizables, que luego se pueden aplicar a numerosos GameObjects. También permite la separación adecuada de los diferentes tipos de lógica necesaria para cada parte de un GameObject, creando así código más limpio y legible. Al mismo tiempo, la estructura descrita aquí permitiría la creación de una herramienta gráfica para gestionar todas las configuraciones de los componentes. Los componentes se implementan como plugins, por lo que el código es aún más flexible y consistente.
Los componentes, son propiedades que se pueden adjuntar a los GameObjects, como el componente render que en realidad hace al GameObject visible, o un SoundListener que le da al objeto la capacidad de escuchar sonidos. Los componentes también pueden ser secuencias de comandos que controlan el comportamiento de los GameObjects al que son adjuntos. Todos los GameObjects en Gluon vienen con propiedades de transformación integradas, dando al objeto su posición, rotación y escala (no tiene mucho sentido tener un objeto que no tiene al menos una posición). Los componentes no tienen propiedades de transformación, pero el GameObject al que son adjuntos sí.
En la imagen de la derecha puedes ver Gluon Creator en su vista por defecto, con una muestra de Invaders. Aproximadamente, en orden a las manecillas del reloj, los elementos de la ventana son los siguientes:
El flujo de trabajo en Gluón Creator para crear juegos se basa en la idea de que deberías ser capaz de utilizar el ratón para la mayor cantidad de trabajo posible. Tal como añadir un archivo, tarea realizada arrastrando un archivo en el panel del proyecto desde el explorador de archivos (o, alternativamente, haciendo clic en el botón "Añadir Archivo ..." en la barra de herramientas). A continuación, se copiará en la carpeta del proyecto, y puesto a disposición para su uso en en juego.
Para describir una escena en un juego, selecciona la escena apropiada en la vista del Proyecto, lo que hace que se cargue y se muestre en el panel Escena, y en la vista de cámara mostrará lo se ve en la escena recién cargada. Ahora podes editar esta escena, agregando y quitando GameObjects, y añadiendo componentes a dichos GameObjects.
Para agregar un GameObject a la escena, haga clic en el botón "Añadir GameObject" en la barra de herramientas. Esto agregará un nuevo GameObject totalmente vacío a la escena, y si tenes un GameObject existente seleccionado, el nuevo se añadirá como hijo del seleccionado. Esto permite, como se describe en "Gluon: Lo básico", la construcción de elementos para el juego basado en GameObjects múltiples en una jerarquía, donde todos se mueven unos con otros.
De tal forma que se puede cambiar los valores para los distintos componentes, seleccionando un GameObject en la vista Escena hará que, las propiedades de ese objeto y de todos los componentes en él, aparezcan en el panel Propiedades, que es una lista ordenada por categorías de todas las propiedades.
Una de las funciones que se usan a menudo desde el panel de Propiedades, es definir las referencia a varios Archivos, por ejemplo, indicar la textura de un SpriteRenderer, o el sonido de un SoundEmitter. Esto se logra haciendo click en el botón "...", en el panel de Propiedades y seleccionando el ítem apropiado de la lista.