This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold expone propiedades para objetos de juego (Game objects), componentes (Components) y nodos GUI que se pueden leer, definir y animar. Existen los siguientes tipos de propiedades:
Las propiedades numéricas muestran un control de arrastre cuando pasas el cursor sobre su campo de entrada. Puedes aumentar o disminuir su valor arrastrando el control hacia la derecha/izquierda o arriba/abajo, respectivamente.
Según dónde se encuentre una propiedad, accedes a ella mediante una función genérica o una función específica de la propiedad. Muchas de las propiedades se pueden animar automáticamente. Se recomienda encarecidamente animar propiedades mediante el sistema integrado en vez de manipularlas directamente (dentro de una función update()), tanto por rendimiento como por comodidad.
Las propiedades compuestas de tipo vector3, vector4 o quaternion también exponen sus subcomponentes (x, y, z y w). Puedes hacer referencia a los componentes individualmente añadiendo al nombre un punto (.) y el nombre del componente. Por ejemplo, para definir el componente x de la posición de un objeto de juego:
-- Define la posición x de "game_object" en 10.
go.set("game_object", "position.x", 10)
Las funciones go.get(), go.set() y go.animate() toman una referencia como primer parámetro y un identificador de propiedad como segundo. La referencia identifica el objeto de juego o componente, y puede ser un string, un hash o una URL. Las URL se explican en detalle en el manual de direccionamiento. El identificador de propiedad es un string o hash que nombra la propiedad:
-- Define la escala x del componente sprite
local url = msg.url("#sprite")
local prop = hash("scale.x")
go.set(url, prop, 2.0)
En los nodos GUI, el identificador del nodo se proporciona como primer parámetro a la función específica de la propiedad:
-- Obtiene el color del botón
local node = gui.get_node("button")
local color = gui.get_color(node)
Todos los objetos de juego, y algunos tipos de componente, tienen propiedades que se pueden leer y manipular en tiempo de ejecución. Obtén estos valores con go.get() y defínelos con go.set(). Según el tipo del valor de la propiedad, puedes animar los valores con go.animate(). Un pequeño conjunto de propiedades es de solo lectura.
getgo.get().get+setgo.get() y escribir con go.set(). Los valores numéricos se pueden animar con go.animate().PROPIEDADES DE OBJETOS DE JUEGO
| propiedad | descripción | tipo | |
|---|---|---|---|
| position | La posición local del objeto de juego. | vector3 |
get+set |
| rotation | Rotación local del objeto de juego, expresada como un quaternion. | quaternion |
get+set |
| euler | Rotación local del objeto de juego, ángulos de Euler. | vector3 |
get+set |
| scale | Escala local no uniforme del objeto de juego, expresada como un vector donde cada componente contiene un multiplicador a lo largo de cada eje. Para duplicar el tamaño en x e y, proporciona vmath.vector3(2.0, 2.0, 0) | vector3 |
get+set |
| scale.xy | Escala local no uniforme del objeto de juego, expresada como un vector donde cada componente contiene un multiplicador a lo largo de los ejes X e Y. | vector3 |
get+set |
También existen funciones específicas para trabajar con la transformación del objeto de juego; son go.get_position(), go.set_position(), go.get_rotation(), go.set_rotation(), go.get_scale(), go.set_scale() y go.set_scale_xy().
PROPIEDADES DEL COMPONENTE SPRITE
| propiedad | descripción | tipo | |
|---|---|---|---|
| size | El tamaño no escalado del sprite, su tamaño tal como se toma del atlas de origen. | vector3 |
get |
| image | El hash de la ruta de textura del sprite. | hash |
get |
| scale | Escala no uniforme del sprite. | vector3 |
get+set |
| scale.xy | Escala no uniforme del sprite a lo largo de los ejes X e Y. | vector3 |
get+set |
| material | El material que usa el sprite. | hash |
get+set |
| cursor | Posición (entre 0–1) del cursor de reproducción. | number |
get+set |
| playback_rate | La velocidad de reproducción de la animación flipbook, expresada en fotogramas por segundo (FPS). | number |
get+set |
PROPIEDADES DEL COMPONENTE COLLISION OBJECT
| propiedad | descripción | tipo | |
|---|---|---|---|
| mass | La masa del objeto de colisión. | number |
get |
| linear_velocity | La velocidad lineal actual del objeto de colisión. | vector3 |
get |
| angular_velocity | La velocidad angular actual del objeto de colisión. | vector3 |
get |
| linear_damping | Amortiguación lineal del objeto de colisión. | vector3 |
get+set |
| angular_damping | Amortiguación angular del objeto de colisión. | vector3 |
get+set |
PROPIEDADES DEL COMPONENTE MODEL (3D)
| propiedad | descripción | tipo | |
|---|---|---|---|
| animation | La animación actual. | hash |
get |
| texture0 | El hash de la ruta de textura del modelo. | hash |
get |
| cursor | Posición (entre 0–1) del cursor de reproducción. | number |
get+set |
| playback_rate | La tasa de reproducción de la animación. Un multiplicador de la tasa de reproducción de la animación. | number |
get+set |
| material | El material que usa el modelo. | hash |
get+set |
PROPIEDADES DEL COMPONENTE LABEL
| propiedad | descripción | tipo | |
|---|---|---|---|
| scale | La escala del label. | vector3 |
get+set |
| scale.xy | La escala del label a lo largo de los ejes X e Y. | vector3 |
get+set |
| color | El color del label. | vector4 |
get+set |
| outline | El color del contorno del label. | vector4 |
get+set |
| shadow | El color de la sombra del label. | vector4 |
get+set |
| size | El tamaño del label. El tamaño restringirá el texto si el salto de línea está activado. | vector3 |
get+set |
| material | El material que usa el label. | hash |
get+set |
| font | La fuente que usa el label. | hash |
get+set |
Los nodos GUI también contienen propiedades, pero se leen y escriben mediante funciones getter y setter especiales. Para cada propiedad existe una función get y una función set. También hay un conjunto de constantes definidas para usarlas como referencia a las propiedades al animarlas. Si necesitas hacer referencia a componentes individuales de una propiedad, tienes que usar el nombre de string de la propiedad o un hash del nombre de string.
position (o gui.PROP_POSITION)rotation (o gui.PROP_ROTATION)scale (o gui.PROP_SCALE)color (o gui.PROP_COLOR)outline (o gui.PROP_OUTLINE)shadow (o gui.PROP_SHADOW)size (o gui.PROP_SIZE)fill_angle (o gui.PROP_FILL_ANGLE)inner_radius (o gui.PROP_INNER_RADIUS)slice9 (o gui.PROP_SLICE9)Ten en cuenta que todos los valores de color están codificados en un vector4, donde los componentes corresponden a los valores RGBA:
xyzwPROPIEDADES DE NODOS GUI
| propiedad | descripción | tipo | |
|---|---|---|---|
| color | El color frontal del nodo. | vector4 |
gui.get_color() gui.set_color() |
| outline | El color del contorno del nodo. | vector4 |
gui.get_outline() gui.set_outline() |
| position | La posición del nodo. | vector3 |
gui.get_position() gui.set_position() |
| rotation | La rotación del nodo expresada como ángulos de Euler, grados rotados alrededor de cada eje. | vector3 |
gui.get_rotation() gui.set_rotation() |
| scale | La escala del nodo expresada como un multiplicador a lo largo de cada eje. | vector3 |
gui.get_scale() gui.set_scale() |
| shadow | El color de la sombra del nodo. | vector4 |
gui.get_shadow() gui.set_shadow() |
| size | El tamaño sin escalar del nodo. | vector3 |
gui.get_size() gui.set_size() |
| fill_angle | El ángulo de relleno de un nodo Pie expresado en grados en sentido antihorario. | number |
gui.get_fill_angle() gui.set_fill_angle() |
| inner_radius | El radio interior de un nodo Pie. | number |
gui.get_inner_radius() gui.set_inner_radius() |
| slice9 | Las distancias de borde de un nodo slice9. | vector4 |
gui.get_slice9() gui.set_slice9() |