Keller-Dev Docs · Java & Hytale

Java Core

TileMap Grid Rendering & Debug-Gitterlinien

Beim Zeichnen einer gitterbasierten Karte wird mit verschachtelten Schleifen (row / col) über das 2D-Array iteriert. Praxis-Tipps: Farbzuweisung über Enum/Konstanten: Verschiedene Tile-Typen (z. B. Wand vs. Boden) steuern die Zeichenfarbe (g.setColor(...)). Debug-Grid: Eine dünne Linie um jedes Feld mit transparentem Alpha-Wert (new Color(0, 0, 0, 40)) hilft enorm bei der Entwicklung, um Abstände und Kollisionsgrenzen zu visualisieren, ohne das Gameplay-Design zu stören.

Referenz: Datei 1. Spielprojekt · Klasse GameWindow.GamePanel
private void drawTileMap(Graphics g) {
    if (tileMap == null) return;

    for (int row = 0; row < tileMap.getHeightInTiles(); row++) {
        for (int col = 0; col < tileMap.getWidthInTiles(); col++) {
            int tile = tileMap.getTile(row, col);

            // 1. Tile-Hintergrund zeichnen
            g.setColor(tile == TileMap.TILE_WALL ? new Color(60, 60, 70) : new Color(30, 100, 40));
            int x = col * TileMap.TILE_SIZE;
            int y = row * TileMap.TILE_SIZE;
            g.fillRect(x, y, TileMap.TILE_SIZE, TileMap.TILE_SIZE);

            // 2. Dünnes Debug-Gitter mit Transparenz (Alpha: 40)
            g.setColor(new Color(0, 0, 0, 40));
            g.drawRect(x, y, TileMap.TILE_SIZE, TileMap.TILE_SIZE);
        }
    }
}
#graphics2d #rendering #tilemap #debug #alpha-channel
Bearbeiten