**This is an old revision of the document!**

CARACTERÍSTICAS COMUNES A TODOS LOS OBJETOS (Common features to all objects)

En un juego de GDevelop, todo en la pantalla es un objeto.

Añadir un objeto al juego.

En una escena, podemos agregar objetos simplemente haciendo clic en el botón Agregar objeto a la derecha de la lista de objetos en la parte inferior:

Puede elegir entre muchos tipos diferentes de objetos, todos con propiedades y propósitos específicos:

Dependiendo del tipo de objeto que haya seleccionado, el editor, el aspecto del objeto y las características disponibles en los eventos serán diferentes. Como el objetivo de esta página es explicar los objetos en general, no entraremos en los detalles de estas propiedades únicas para cada tipo. Puede encontrar información detallada sobre cada tipo de objeto aquí.

Objetos en la escena (Objects in the scene)

Añadir una instancia en la escena.

Un objeto se puede colocar en la escena seleccionando el objeto en la pestaña Objeto (hacer clic / tocar en él) y luego hacer clic en la escena para poner una instancia de ese objeto. Una instancia es básicamente una copia del objeto que vive en la escena. Cada instancia tiene sus propias variables, posición, animaciones (para objetos de sprite), contenido (para textos), etc.

Podemos cambiar la posición de un objeto seleccionando el objeto en el editor de scripts y arrastrándolo. Podemos escalar el objeto seleccionando el objeto y arrastrando uno de los puntos de escala blanca.

Modificar propiedades.

Cuando seleccionamos un objeto en el editor de escenas, el panel de propiedades a la izquierda muestra información sobre las instancias seleccionadas. Si no está abierto, puede volver a abrirlo haciendo clic en el botón de propiedades en la barra de herramientas:

Posición (Position)

Puede establecer con precisión la posición de las instancias seleccionadas cambiando los valores de X e Y en las propiedades:

Ángulo (Angle)

Puede establecer el ángulo de una instancia (s) cambiando el valor del ángulo:

El ángulo puede ser cualquier valor de 0 a 360 grados. Recuerde este diagrama para ver cuál es la orientación de un ángulo dado:

Orden Z (Z order)

Puede cambiar el orden de una instancia en las propiedades:

El propósito del orden Z es especificar qué objeto se mostrará primero cuando las instancias se superponen. De manera más precisa, podemos controlar si el objeto está detrás de otro objeto o si está al frente configurando diferentes valores: cuando dos objetos se superponen, el objeto con un orden Z de menor valor se mostrará detrás del otro.

Los valores pueden ser cualquier número entero, incluidos los números negativos y 0.

En la imagen de arriba, el orden Z del arbusto se deja 2, el orden Z de la moneda es 1 y el orden Z del arbusto de la derecha es 0.

Capa (Layer)

Puede establecer la capa de una instancia:

Por defecto, cada escena de GDevelop viene con una sola capa llamada “Capa base”. Aquí es donde todos los objetos se encuentran en nuestra escena. Podemos agregar más capas para varios propósitos y poner cualquier instancia en cualquier capa. Por ejemplo, puede haber una capa para mostrar los controles en la pantalla, otra para mostrar un menú, un mapa o un fondo.

Posición de bloqueo / ángulo (Lock position/angle)

Al marcar la casilla “Bloquear posición / ángulo en el editor”, puede hacer que la instancia sea inamovible en el editor:

Cuando la instancia está bloqueada, ya no podemos seleccionarla en la escena. Hay ocasiones en las que hay muchos objetos que se superponen entre sí en su escena. Esto hace que sea difícil seleccionar algunos de ellos, ya que seguimos seleccionando los que no pretendemos. En tales casos, puede bloquear las instancias.

Puede desbloquear una instancia bloqueada abriendo el panel de instancias, que muestra todas las instancias en nuestra escena y seleccionando el objeto de la lista.

Variables de instancia (Instance variables)

El botón “editar variables” le permite especificar variables que son específicas de la instancia seleccionada:
A variable is basically a container that is holding a value (a number, a text), which can be compared and modified during the game. There are different type of variables in GDevelop, in particular each object can contain variables. When the game is running, each instance of the object living on the scene will have its own variables.

The “Edit variables” allow you to specify variables that are specific to the selected instance. For example, if you have objects representing boxes with gold on the scene, you can modify the variable named “Gold” of each instance to set a different number. Then in the events, when the player collides with a box, you can read the variable value to add it to the player gold amount.

Custom size

You can change the size of your objects, by enabling the custom size in the properties panel, and then enter the custom width and height dimensions in pixels:

Object groups

An object group is a set of objects. For example, a group called “Enemies” can contain the object “Mushroom”, “Bomb”, “Dinosaur”. You can then use the name of the group in the events to refer to all the objects contained in the group.

This makes possible to create events that applies to lots of objects without repeating events multiple times, increasing performance of your game, maintainability and readability of your events.

To open the Groups Editor, click the groups icon on the toolbar:

In the Groups Editor are listed all the groups of the scene (and global groups too, which are available in all scenes of the game). To add a group click on the button on the bottom of the list:

A new group is added to the lost:

  • To change the name of the group, right click on the group and select Rename.
  • To add objects to the group, tap or click the group.

In the window that open to edit the group, click on the bottom field and choose an object (or type the name of an object) to add it to the group.

Variables

Each object can contain variables, which are memory cells that you can use to store information. When the game is running, each instance of the object living on the scene will have its own variables.

Read this page to learn more about variables.

Timers

Objects can hold their own timers, and each timer will be unique for each instance of the object living on the scene. Object timers are useful to make instances to launch actions after/every X seconds.

For example, a classic usage is to simulate shooting bullets. If you have a single tank on the scene, you could use a scene timer so that every 3 seconds, this tank can fire (create a bullet) and then reset the timer (so the tank can shoot again).

The issue is that if you have 2 tanks and use a scene timer you'll notice both tanks shoot at the same time, because they are sharing the same scene timer. You need to have two separate timers, independent from each other, to make the second tank to shoot at its own rate. But what if you have 100 tanks? You don't want to create 100 scene timers, one per instance.

This is when object timers are getting useful: replace every condition/action using the scene timer with the conditions/actions to use object timers. During the game, GDevelop will create a timer inside each tank instance. When you will be using a condition to check the value of a timer, only the instance that have a timer that have a value in seconds that is greater to the number you've entered will be picked.

You can read more about timers here: Timers

In the events editor

You can change and manipulate the properties of an instance of an object, or of multiple instances, using events during the game. This is even what game making is all about in GDevelop: to manipulate objects in real-time as we play the game. As the events and events editor are out of the scope of this page, refer to the basic game making concepts page to get started.

  • All objects share the same common features (like position, angle and everything that is written on this page), and there are a lot of conditions and actions that you can use for all objects.
  • Objects can also provides you with specific feature. For example, Sprite objects can have animations, and the animation being played can be changed using an action.