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

Kachelkarte

Eine Kachelkarte (tile map) ist eine Komponente (component), mit der du Kacheln aus einer Kachelquelle (tile source) auf einer großen Rasterfläche anordnen oder aufmalen kannst. Kachelkarten werden häufig verwendet, um die Umgebung von Spielleveln zu gestalten. Du kannst auch die Kollisionsformen (collision shapes) aus der Kachelquelle in deinen Karten für die Kollisionserkennung und Physiksimulation verwenden (Beispiel).

Bevor du eine Kachelkarte erstellen kannst, musst du eine Kachelquelle erstellen. Im Handbuch zu Kachelquellen erfährst du, wie du eine Kachelquelle erstellst.

Eine Kachelkarte erstellen

So erstellst du eine neue Kachelkarte:

  • Klicke mit der rechten Maustaste auf eine Stelle im Assets-Browser und wähle dann New... ▸ Tile Map.
  • Gib der Datei einen Namen.
  • Die neue Kachelkarte wird automatisch im Kachelkarteneditor geöffnet.

    Neue Kachelkarte

  • Setze die Eigenschaft Tile Source auf eine Kachelquellendatei, die du vorbereitet hast.

So malst du Kacheln auf deine Kachelkarte:

  1. Wähle eine Ebene (Layer) zum Bemalen in der Ansicht Outline aus oder erstelle eine.
  2. Wähle eine Kachel als Pinsel aus (drücke Space, um die Kachelpalette anzuzeigen), oder wähle durch Klicken und Ziehen in der Palette mehrere Kacheln aus, um einen rechteckigen Pinsel aus mehreren Kacheln zu erstellen.

    Palette

  3. Male mit dem ausgewählten Pinsel. Um eine Kachel zu löschen, wähle entweder eine leere Kachel aus und verwende sie als Pinsel oder wähle den Radierer aus (Edit ▸ Select Eraser).

    Kacheln malen

Du kannst Kacheln direkt aus einer Ebene aufnehmen und die Auswahl als Pinsel verwenden. Halte Shift gedrückt und klicke auf eine Kachel, um sie als aktuellen Pinsel aufzunehmen. Während du Shift gedrückt hältst, kannst du auch durch Klicken und Ziehen einen Block aus Kacheln auswählen, den du als größeren Pinsel verwendest. Auf ähnliche Weise kannst du Kacheln ausschneiden, indem du Shift+Ctrl gedrückt hältst, oder sie löschen, indem du Shift+Alt gedrückt hältst.

Verwende Z, um den Pinsel im Uhrzeigersinn zu drehen. Verwende X, um den Pinsel horizontal zu spiegeln, und Y, um ihn vertikal zu spiegeln.

Kacheln aufnehmen

Deinem Spiel eine Kachelkarte hinzufügen

So fügst du deinem Spiel eine Kachelkarte hinzu:

  1. Erstelle ein Spielobjekt (game object), das die Kachelkartenkomponente aufnehmen soll. Das Spielobjekt kann sich in einer Datei befinden oder direkt in einer Sammlung (collection) erstellt werden.
  2. Klicke mit der rechten Maustaste auf den Wurzeleintrag des Spielobjekts und wähle Add Component File.
  3. Wähle die Kachelkartendatei aus.

Kachelkarte verwenden

Änderungen zur Laufzeit

Du kannst Kachelkarten zur Laufzeit über verschiedene Funktionen und Eigenschaften verändern (Informationen zur Verwendung findest du in der API-Dokumentation).

Kacheln aus einem Skript ändern

Du kannst den Inhalt einer Kachelkarte dynamisch lesen und schreiben, während dein Spiel läuft. Verwende dazu die Funktionen tilemap.get_tile() und tilemap.set_tile():

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

if tile == 2 then
    -- Replace grass-tile (2) with dangerous hole tile (number 4).
    tilemap.set_tile("/level#map", "ground", x, y, 4)
end

Eigenschaften von Kachelkarten

Neben den Eigenschaften Id, Position, Rotation und Scale gibt es die folgenden komponentenspezifischen Eigenschaften:

Tile Source
Die Kachelquellenressource, die für die Kachelkarte verwendet werden soll.
Material
Das Material, das zum Rendern der Kachelkarte verwendet werden soll.
Blend Mode
Der Mischmodus, der beim Rendern der Kachelkarte verwendet werden soll.

Mischmodi

Die Eigenschaft Blend Mode legt fest, wie die Grafik einer Komponente (component) mit der dahinterliegenden Grafik gemischt wird. Dies sind die verfügbaren Mischmodi und ihre Berechnungen:

Alpha
Normale Mischung: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
Hellt den Hintergrund mit den Farbwerten der entsprechenden Pixel der Komponente auf: src.rgb + dst.rgb
Multiply
Dunkelt den Hintergrund mit den Werten der entsprechenden Pixel der Komponente ab: src.rgb * dst.rgb
Screen
Gegenteil von Multiply. Erhöht die Helligkeit des Hintergrunds und die Werte der entsprechenden Pixel der Komponente: src.rgb - dst.rgb * dst.rgb

Eigenschaften ändern

Eine Kachelkarte verfügt über verschiedene Eigenschaften, die mit go.get() und go.set() verändert werden können:

tile_source
Die Kachelquelle der Kachelkarte (hash). Du kannst sie mit einer Ressourceneigenschaft für Kachelquellen und go.set() ändern. Ein Beispiel findest du in der API-Referenz.
material
Das Material der Kachelkarte (hash). Du kannst es mit einer Ressourceneigenschaft für Materialien und go.set() ändern. Ein Beispiel findest du in der API-Referenz.

Materialkonstanten

Das Standardmaterial für tilemap hat die folgenden Konstanten, die du mit go.set() oder go.animate() ändern kannst (weitere Details findest du im Handbuch zu Materialien). Beispiele:

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
Die Einfärbung der Kachelkarte (vector4). Der vector4 stellt die Einfärbung dar, wobei x, y, z und w den Anteilen für Rot, Grün, Blau und Alpha entsprechen.

Projektkonfiguration

Die Datei game.project enthält einige Projekteinstellungen für Kachelkarten.

Externe Werkzeuge

Es gibt externe Karten- und Leveleditoren, die direkt in Defold-Kachelkarten exportieren können:

Tiled

Tiled ist ein bekannter und weitverbreiteter Karteneditor für orthogonale, isometrische und hexagonale Karten. Tiled unterstützt eine breite Palette an Funktionen und kann direkt nach Defold exportieren. Mehr über den Export von Kachelkartendaten und zusätzlichen Metadaten erfährst du in diesem Blogbeitrag des Defold-Nutzers „goeshard“

Tilesetter

Mit Tilesetter kannst du automatisch vollständige Kachelsätze aus einfachen Basiskacheln erstellen. Außerdem enthält es einen Karteneditor, der direkt nach Defold exportieren kann.