||Topic was automatically imported from the old Question2Answer platform.
hello. my question is simple. can i attach a script to a tile in a tileset? i really need it because for my game each tile got some properties that i can include them in the script for tile. note that i need to access to these properties from other nodes.
i need the answer too!
i googled, it seems no one know how to do it…
huahuapro | 2020-03-28 00:33
It is not recommended to do so. However, you can easily check for the type of tile via the tileMap node:
tile_pos = world_to_map(pos) #Maybe you don't even need this
tile_type = get_cell(tile_pos.x, tile_pos.y)
You can either get the position of the needed tile by iteration or by your mouse cursor or character position. The get_cell(…) method returns the Tile ID as an integer number. Each tile has a different ID.
Hope this helped!
if i can’t add scripts, than i must not use tilemaps! is there a way to see the name of tile? intead of its id?
ProXFox | 2019-04-27 02:39
I use the following inside
func get_tile_name(location: Vector2) -> String:
var position := world_to_map(location)
var tile := get_cellv(position)
if tile == -1:
and a shorthand for finding the id:
func get_tile_id(name: String) -> int: