diff --git a/doc/base/classes.xml b/doc/base/classes.xml
index 13bc5a91e62..98fc4dd0859 100644
--- a/doc/base/classes.xml
+++ b/doc/base/classes.xml
@@ -36301,6 +36301,15 @@ This method controls whether the position between two cached points is interpola
Return the tile index of the referenced cell.
+
+
+
+
+
+
+ Return the tile index of the cell referenced by a Vector2.
+
+
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index 179d1f451a6..5c298e96f6c 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -694,6 +694,10 @@ void TileMap::set_cell(int p_x,int p_y,int p_tile,bool p_flip_x,bool p_flip_y,bo
}
+int TileMap::get_cellv(const Vector2& p_pos) const {
+ return get_cell(p_pos.x,p_pos.y);
+}
+
int TileMap::get_cell(int p_x,int p_y) const {
PosKey pk(p_x,p_y);
@@ -1198,6 +1202,7 @@ void TileMap::_bind_methods() {
ObjectTypeDB::bind_method(_MD("set_cell","x","y","tile","flip_x","flip_y","transpose"),&TileMap::set_cell,DEFVAL(false),DEFVAL(false),DEFVAL(false));
ObjectTypeDB::bind_method(_MD("set_cellv","pos","tile","flip_x","flip_y","transpose"),&TileMap::set_cellv,DEFVAL(false),DEFVAL(false),DEFVAL(false));
ObjectTypeDB::bind_method(_MD("get_cell","x","y"),&TileMap::get_cell);
+ ObjectTypeDB::bind_method(_MD("get_cellv","pos"),&TileMap::get_cellv);
ObjectTypeDB::bind_method(_MD("is_cell_x_flipped","x","y"),&TileMap::is_cell_x_flipped);
ObjectTypeDB::bind_method(_MD("is_cell_y_flipped","x","y"),&TileMap::is_cell_y_flipped);
diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h
index 14cb52b7361..cec5ac0a1ba 100644
--- a/scene/2d/tile_map.h
+++ b/scene/2d/tile_map.h
@@ -211,6 +211,7 @@ public:
bool is_cell_transposed(int p_x,int p_y) const;
void set_cellv(const Vector2& p_pos,int p_tile,bool p_flip_x=false,bool p_flip_y=false,bool p_transpose=false);
+ int get_cellv(const Vector2& p_pos) const;
Rect2 get_item_rect() const;