Manuals
Manuals




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

Tile map

Un Tile Map es un componente que te permite componer, o pintar, tiles desde un Tile Source sobre una amplia área en cuadrícula. Los tile maps se usan comúnmente para construir entornos de niveles de juego. También puedes usar las Collision Shapes del tile source en tus mapas para detección de colisiones y simulación de física (ejemplo).

Antes de poder crear un tile map, necesitas crear un Tile Source. Consulta el manual de Tile Source para aprender cómo crear un Tile Source.

Crear un tile map

Para crear un tile map nuevo:

  • Haz click derecho en una ubicación del navegador Assets y selecciona New... ▸ Tile Map.
  • Asigna un nombre al archivo.
  • El tile map nuevo se abre automáticamente en el editor de tile maps.

    tilemap nuevo

  • Define la propiedad Tile Source con un archivo tile source que hayas preparado.

Para pintar tiles en tu tile map:

  1. Selecciona o crea una Layer en la que pintar en la vista Outline.
  2. Selecciona un tile para usarlo como pincel (presiona Space para mostrar la paleta de tiles) o selecciona algunos tiles haciendo click y arrastrando en la paleta para crear un pincel rectangular con varios tiles.

    Paleta

  3. Pinta con el pincel seleccionado. Para borrar un tile, elige un tile vacío y úsalo como pincel, o selecciona el borrador (Edit ▸ Select Eraser).

    Pintar tiles

Puedes tomar tiles directamente desde una capa y usar la selección como pincel. Mantén presionado Shift y haz click en un tile para tomarlo como el pincel actual. Mientras mantienes presionado Shift, también puedes hacer click y arrastrar para seleccionar un bloque de tiles que se usará como un pincel más grande. Además, es posible cortar tiles de forma similar manteniendo presionado Shift+Ctrl o borrarlos manteniendo presionado Shift+Alt.

Para rotar el pincel en sentido horario, usa Z. Usa X para voltear el pincel horizontalmente y Y para voltearlo verticalmente.

Tomar tiles

Agregar un tile map a tu juego

Para agregar un tile map a tu juego:

  1. Crea un objeto de juego para contener el componente tile map. El objeto de juego puede estar en un archivo o crearse directamente en una colección.
  2. Haz click derecho en la raíz del objeto de juego y selecciona Add Component File.
  3. Selecciona el archivo de tile map.

Usar tile map

Manipulación en runtime

Puedes manipular tilemaps en runtime mediante varias funciones y propiedades diferentes (consulta la documentación de la API para ver su uso).

Cambiar tiles desde un script

Puedes leer y escribir dinámicamente el contenido de un tile map mientras tu juego se ejecuta. Para hacerlo, usa las funciones tilemap.get_tile() y tilemap.set_tile():

local tile = tilemap.get_tile("/level#map", "ground", x, y)

if tile == 2 then
    -- Reemplaza el tile de césped (2) por un tile de agujero peligroso (número 4).
    tilemap.set_tile("/level#map", "ground", x, y, 4)
end

Propiedades de tilemap

Además de las propiedades Id, Position, Rotation y Scale, existen las siguientes propiedades específicas del componente:

Tile Source
El recurso tile source que se usará para el tilemap.
Material
El material que se usará para renderizar el tilemap.
Blend Mode
El modo de mezcla que se usará al renderizar el tilemap.

Modos de mezcla

La propiedad Blend Mode define cómo deben mezclarse los gráficos del componente con los gráficos que hay detrás. Estos son los modos de mezcla disponibles y cómo se calculan:

Alpha
Mezcla normal: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
Aclara el fondo con los valores de color de los píxeles correspondientes del componente: src.rgb + dst.rgb
Multiply
Oscurece el fondo con los valores de los píxeles correspondientes del componente: src.rgb * dst.rgb
Screen
Lo opuesto a Multiply. Aclara el fondo y los valores de los píxeles correspondientes del componente: src.rgb - dst.rgb * dst.rgb

Cambiar propiedades

Un tilemap tiene varias propiedades diferentes que se pueden manipular con go.get() y go.set():

tile_source
El tile source del tile map (hash). Puedes cambiarlo usando una propiedad de recurso tile source y go.set(). Consulta la referencia de la API para ver un ejemplo.
material
El material del tile map (hash). Puedes cambiarlo usando una propiedad de recurso material y go.set(). Consulta la referencia de la API para ver un ejemplo.

Constantes de material

El material predeterminado de tilemap tiene las siguientes constantes que se pueden cambiar con go.set() o go.animate() (consulta el manual de Material para más detalles). Ejemplos:

go.set("#tilemap", "tint", vmath.vector4(1,0,0,1))
go.animate("#tilemap", "tint", go.PLAYBACK_LOOP_PINGPONG, vmath.vector4(1,0,0,1), go.EASING_LINEAR, 2)
tint
El tinte de color del tile map (vector4). El vector4 se usa para representar el tinte con x, y, z y w correspondientes al tinte rojo, verde, azul y alfa.

Configuración del proyecto

El archivo game.project tiene algunas configuraciones del proyecto relacionadas con tilemaps.

Herramientas externas

Hay editores externos de mapas/niveles que pueden exportar directamente a tilemaps de Defold:

Tiled

Tiled es un editor de mapas conocido y ampliamente usado para mapas ortogonales, isométricos y hexagonales. Tiled tiene soporte para una amplia variedad de funcionalidades y puede exportar directamente a Defold. Aprende más sobre cómo exportar datos de tilemap y metadatos adicionales en esta publicación de blog del usuario de Defold “goeshard”

Tilesetter

Tilesetter se puede usar para crear automáticamente tilesets completos a partir de tiles base simples y tiene un editor de mapas que puede exportar directamente a Defold.