I will explain as you understand tilemaps.
There are several ways to do this, but here's how to use GDScript.
func _ready():
$TileMap.clear()
# Load resource, monochrome PNG
var res: StreamTexture = ResourceLoader.load(
"res://tiledata.png")
var img: Image = res.get_data()
# Get image properties
var w = img.get_width()
var h = img.get_height()
var fmt = img.get_format()
for y in range(w):
for x in range(h):
var idx = 0
match fmt:
Image.FORMAT_R8:
idx = img.get_data()[(x + y * w)]
Image.FORMAT_RGB8:
idx = img.get_data()[(x + y * w) * 3]
Image.FORMAT_RGBA8:
idx = img.get_data()[(x + y * w) * 4]
# Pick up Tile
var tile_pos = Vector2(idx, 0)
# Set Tile to TileMap node
$TileMap.set_cell(x, y, 0,
false, false, false, tile_pos)
When the program is executed, the TileSet will be retrieved while referring to the image information.
If possible, I think it's easier to arrange the TileSets to be taken out in a row.