mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-04 10:09:56 +03:00
1125 lines
81 KiB
ReStructuredText
1125 lines
81 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. meta::
|
||
:keywords: gridmap
|
||
|
||
.. DO NOT EDIT THIS FILE!!!
|
||
.. Generated automatically from Godot engine sources.
|
||
.. Generator: https://github.com/godotengine/godot/tree/4.4/doc/tools/make_rst.py.
|
||
.. XML source: https://github.com/godotengine/godot/tree/4.4/doc/classes/TileMap.xml.
|
||
|
||
.. _class_TileMap:
|
||
|
||
TileMap
|
||
=======
|
||
|
||
**已弃用:** Use multiple :ref:`TileMapLayer<class_TileMapLayer>` nodes instead. To convert a TileMap to a set of TileMapLayer nodes, open the TileMap bottom panel with the node selected, click the toolbox icon in the top-right corner and choose 'Extract TileMap layers as individual TileMapLayer nodes'.
|
||
|
||
**继承:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
||
|
||
基于 2D 图块的地图节点。
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
描述
|
||
----
|
||
|
||
基于 2D 图块的地图节点。Tilemap(图块地图)使用 :ref:`TileSet<class_TileSet>`\ ,其中包含了图块的列表,用于创建基于栅格的地图。TileMap 可以有若干图层,可以将图块布局在彼此之上。
|
||
|
||
出于性能原因,所有 TileMap 更新都会在一帧结束时进行批处理。值得注意的是,这意味着 :ref:`TileSetScenesCollectionSource<class_TileSetScenesCollectionSource>` 中的场景图块可能会在其父级之后初始化。仅当在场景树内时才会排队。
|
||
|
||
要提前强制更新,请调用 :ref:`update_internals()<class_TileMap_method_update_internals>`\ 。
|
||
|
||
\ **注意:**\ 考虑到性能和兼容性,\ **TileMap** 所序列化的坐标限制为 16 位带符号整数,即 X、Y 坐标的范围在 ``-32768`` 到 ``32767`` 之间。保存图块数据时,该范围之外的图块会发生环绕。
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
教程
|
||
----
|
||
|
||
- :doc:`使用 Tilemap <../tutorials/2d/using_tilemaps>`
|
||
|
||
- `2D 平台跳跃演示 <https://godotengine.org/asset-library/asset/2727>`__
|
||
|
||
- `2D 等轴演示 <https://godotengine.org/asset-library/asset/2718>`__
|
||
|
||
- `2D 六边形演示 <https://godotengine.org/asset-library/asset/2717>`__
|
||
|
||
- `AStarGrid2D 的 2D 网格导航演示 <https://godotengine.org/asset-library/asset/2723>`__
|
||
|
||
- `2D 角色扮演游戏(RPG)演示 <https://godotengine.org/asset-library/asset/2729>`__
|
||
|
||
- `2D 运动学角色演示 <https://godotengine.org/asset-library/asset/2719>`__
|
||
|
||
- `2D 动态 TileMap 层演示 <https://godotengine.org/asset-library/asset/2713>`__
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
属性
|
||
----
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`collision_animatable<class_TileMap_property_collision_animatable>` | ``false`` |
|
||
+----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
|
||
| :ref:`VisibilityMode<enum_TileMap_VisibilityMode>` | :ref:`collision_visibility_mode<class_TileMap_property_collision_visibility_mode>` | ``0`` |
|
||
+----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
|
||
| :ref:`VisibilityMode<enum_TileMap_VisibilityMode>` | :ref:`navigation_visibility_mode<class_TileMap_property_navigation_visibility_mode>` | ``0`` |
|
||
+----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
|
||
| :ref:`int<class_int>` | :ref:`rendering_quadrant_size<class_TileMap_property_rendering_quadrant_size>` | ``16`` |
|
||
+----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
|
||
| :ref:`TileSet<class_TileSet>` | :ref:`tile_set<class_TileMap_property_tile_set>` | |
|
||
+----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
方法
|
||
----
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_tile_data_runtime_update<class_TileMap_private_method__tile_data_runtime_update>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, tile_data\: :ref:`TileData<class_TileData>`\ ) |virtual| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_use_tile_data_runtime_update<class_TileMap_private_method__use_tile_data_runtime_update>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_layer<class_TileMap_method_add_layer>`\ (\ to_position\: :ref:`int<class_int>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`clear<class_TileMap_method_clear>`\ (\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`clear_layer<class_TileMap_method_clear_layer>`\ (\ layer\: :ref:`int<class_int>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`erase_cell<class_TileMap_method_erase_cell>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`fix_invalid_tiles<class_TileMap_method_fix_invalid_tiles>`\ (\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`force_update<class_TileMap_method_force_update>`\ (\ layer\: :ref:`int<class_int>` = -1\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_cell_alternative_tile<class_TileMap_method_get_cell_alternative_tile>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_cell_atlas_coords<class_TileMap_method_get_cell_atlas_coords>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_cell_source_id<class_TileMap_method_get_cell_source_id>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`TileData<class_TileData>` | :ref:`get_cell_tile_data<class_TileMap_method_get_cell_tile_data>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_coords_for_body_rid<class_TileMap_method_get_coords_for_body_rid>`\ (\ body\: :ref:`RID<class_RID>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_layer_for_body_rid<class_TileMap_method_get_layer_for_body_rid>`\ (\ body\: :ref:`RID<class_RID>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`get_layer_modulate<class_TileMap_method_get_layer_modulate>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`String<class_String>` | :ref:`get_layer_name<class_TileMap_method_get_layer_name>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`get_layer_navigation_map<class_TileMap_method_get_layer_navigation_map>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_layer_y_sort_origin<class_TileMap_method_get_layer_y_sort_origin>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_layer_z_index<class_TileMap_method_get_layer_z_index>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_layers_count<class_TileMap_method_get_layers_count>`\ (\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`get_navigation_map<class_TileMap_method_get_navigation_map>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_neighbor_cell<class_TileMap_method_get_neighbor_cell>`\ (\ coords\: :ref:`Vector2i<class_Vector2i>`, neighbor\: :ref:`CellNeighbor<enum_TileSet_CellNeighbor>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`TileMapPattern<class_TileMapPattern>` | :ref:`get_pattern<class_TileMap_method_get_pattern>`\ (\ layer\: :ref:`int<class_int>`, coords_array\: :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\]\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] | :ref:`get_surrounding_cells<class_TileMap_method_get_surrounding_cells>`\ (\ coords\: :ref:`Vector2i<class_Vector2i>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] | :ref:`get_used_cells<class_TileMap_method_get_used_cells>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] | :ref:`get_used_cells_by_id<class_TileMap_method_get_used_cells_by_id>`\ (\ layer\: :ref:`int<class_int>`, source_id\: :ref:`int<class_int>` = -1, atlas_coords\: :ref:`Vector2i<class_Vector2i>` = Vector2i(-1, -1), alternative_tile\: :ref:`int<class_int>` = -1\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Rect2i<class_Rect2i>` | :ref:`get_used_rect<class_TileMap_method_get_used_rect>`\ (\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_cell_flipped_h<class_TileMap_method_is_cell_flipped_h>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_cell_flipped_v<class_TileMap_method_is_cell_flipped_v>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_cell_transposed<class_TileMap_method_is_cell_transposed>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_layer_enabled<class_TileMap_method_is_layer_enabled>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_layer_navigation_enabled<class_TileMap_method_is_layer_navigation_enabled>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_layer_y_sort_enabled<class_TileMap_method_is_layer_y_sort_enabled>`\ (\ layer\: :ref:`int<class_int>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2i<class_Vector2i>` | :ref:`local_to_map<class_TileMap_method_local_to_map>`\ (\ local_position\: :ref:`Vector2<class_Vector2>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2i<class_Vector2i>` | :ref:`map_pattern<class_TileMap_method_map_pattern>`\ (\ position_in_tilemap\: :ref:`Vector2i<class_Vector2i>`, coords_in_pattern\: :ref:`Vector2i<class_Vector2i>`, pattern\: :ref:`TileMapPattern<class_TileMapPattern>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`map_to_local<class_TileMap_method_map_to_local>`\ (\ map_position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`move_layer<class_TileMap_method_move_layer>`\ (\ layer\: :ref:`int<class_int>`, to_position\: :ref:`int<class_int>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`notify_runtime_tile_data_update<class_TileMap_method_notify_runtime_tile_data_update>`\ (\ layer\: :ref:`int<class_int>` = -1\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_layer<class_TileMap_method_remove_layer>`\ (\ layer\: :ref:`int<class_int>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_cell<class_TileMap_method_set_cell>`\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, source_id\: :ref:`int<class_int>` = -1, atlas_coords\: :ref:`Vector2i<class_Vector2i>` = Vector2i(-1, -1), alternative_tile\: :ref:`int<class_int>` = 0\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_cells_terrain_connect<class_TileMap_method_set_cells_terrain_connect>`\ (\ layer\: :ref:`int<class_int>`, cells\: :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\], terrain_set\: :ref:`int<class_int>`, terrain\: :ref:`int<class_int>`, ignore_empty_terrains\: :ref:`bool<class_bool>` = true\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_cells_terrain_path<class_TileMap_method_set_cells_terrain_path>`\ (\ layer\: :ref:`int<class_int>`, path\: :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\], terrain_set\: :ref:`int<class_int>`, terrain\: :ref:`int<class_int>`, ignore_empty_terrains\: :ref:`bool<class_bool>` = true\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_enabled<class_TileMap_method_set_layer_enabled>`\ (\ layer\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_modulate<class_TileMap_method_set_layer_modulate>`\ (\ layer\: :ref:`int<class_int>`, modulate\: :ref:`Color<class_Color>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_name<class_TileMap_method_set_layer_name>`\ (\ layer\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_navigation_enabled<class_TileMap_method_set_layer_navigation_enabled>`\ (\ layer\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_navigation_map<class_TileMap_method_set_layer_navigation_map>`\ (\ layer\: :ref:`int<class_int>`, map\: :ref:`RID<class_RID>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_y_sort_enabled<class_TileMap_method_set_layer_y_sort_enabled>`\ (\ layer\: :ref:`int<class_int>`, y_sort_enabled\: :ref:`bool<class_bool>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_y_sort_origin<class_TileMap_method_set_layer_y_sort_origin>`\ (\ layer\: :ref:`int<class_int>`, y_sort_origin\: :ref:`int<class_int>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_layer_z_index<class_TileMap_method_set_layer_z_index>`\ (\ layer\: :ref:`int<class_int>`, z_index\: :ref:`int<class_int>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_navigation_map<class_TileMap_method_set_navigation_map>`\ (\ layer\: :ref:`int<class_int>`, map\: :ref:`RID<class_RID>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_pattern<class_TileMap_method_set_pattern>`\ (\ layer\: :ref:`int<class_int>`, position\: :ref:`Vector2i<class_Vector2i>`, pattern\: :ref:`TileMapPattern<class_TileMapPattern>`\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`update_internals<class_TileMap_method_update_internals>`\ (\ ) |
|
||
+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
信号
|
||
----
|
||
|
||
.. _class_TileMap_signal_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**changed**\ (\ ) :ref:`🔗<class_TileMap_signal_changed>`
|
||
|
||
该 TileMap 的 :ref:`TileSet<class_TileSet>` 发生改变时发出。
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
枚举
|
||
----
|
||
|
||
.. _enum_TileMap_VisibilityMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **VisibilityMode**: :ref:`🔗<enum_TileMap_VisibilityMode>`
|
||
|
||
.. _class_TileMap_constant_VISIBILITY_MODE_DEFAULT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`VisibilityMode<enum_TileMap_VisibilityMode>` **VISIBILITY_MODE_DEFAULT** = ``0``
|
||
|
||
使用调试设置确定可见性。
|
||
|
||
.. _class_TileMap_constant_VISIBILITY_MODE_FORCE_HIDE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`VisibilityMode<enum_TileMap_VisibilityMode>` **VISIBILITY_MODE_FORCE_HIDE** = ``2``
|
||
|
||
始终隐藏。
|
||
|
||
.. _class_TileMap_constant_VISIBILITY_MODE_FORCE_SHOW:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`VisibilityMode<enum_TileMap_VisibilityMode>` **VISIBILITY_MODE_FORCE_SHOW** = ``1``
|
||
|
||
始终显示。
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
属性说明
|
||
--------
|
||
|
||
.. _class_TileMap_property_collision_animatable:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **collision_animatable** = ``false`` :ref:`🔗<class_TileMap_property_collision_animatable>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_collision_animatable**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_collision_animatable**\ (\ )
|
||
|
||
如果启用,TileMap 将看到它的碰撞同步到物理周期并将其碰撞类型从静态更改为运动学。这是创建基于 TileMap 的移动的平台所必需的。
|
||
|
||
\ **注意:**\ 启用 :ref:`collision_animatable<class_TileMap_property_collision_animatable>` 可能会对性能产生一个很小的影响,只有在该 TileMap 正在移动并且有碰撞的图块时才这样做。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_property_collision_visibility_mode:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`VisibilityMode<enum_TileMap_VisibilityMode>` **collision_visibility_mode** = ``0`` :ref:`🔗<class_TileMap_property_collision_visibility_mode>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_collision_visibility_mode**\ (\ value\: :ref:`VisibilityMode<enum_TileMap_VisibilityMode>`\ )
|
||
- :ref:`VisibilityMode<enum_TileMap_VisibilityMode>` **get_collision_visibility_mode**\ (\ )
|
||
|
||
显示或隐藏该 TileMap 的碰撞形状。如果设置为 :ref:`VISIBILITY_MODE_DEFAULT<class_TileMap_constant_VISIBILITY_MODE_DEFAULT>`\ ,则取决于调试设置“显示碰撞”。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_property_navigation_visibility_mode:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`VisibilityMode<enum_TileMap_VisibilityMode>` **navigation_visibility_mode** = ``0`` :ref:`🔗<class_TileMap_property_navigation_visibility_mode>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_navigation_visibility_mode**\ (\ value\: :ref:`VisibilityMode<enum_TileMap_VisibilityMode>`\ )
|
||
- :ref:`VisibilityMode<enum_TileMap_VisibilityMode>` **get_navigation_visibility_mode**\ (\ )
|
||
|
||
显示或隐藏该 TileMap 的导航网格。如果设置为 :ref:`VISIBILITY_MODE_DEFAULT<class_TileMap_constant_VISIBILITY_MODE_DEFAULT>`\ ,则取决于调试设置“显示导航”。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_property_rendering_quadrant_size:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **rendering_quadrant_size** = ``16`` :ref:`🔗<class_TileMap_property_rendering_quadrant_size>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_rendering_quadrant_size**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_rendering_quadrant_size**\ (\ )
|
||
|
||
TileMap 的象限大小。象限是在单个画布项上一起绘制的一组图块,用于优化。\ :ref:`rendering_quadrant_size<class_TileMap_property_rendering_quadrant_size>` 定义的是形成象限的正方形的边长,使用地图坐标系。因此,默认象限大小将 ``16 * 16 = 256`` 个图块组合到了一起。
|
||
|
||
Y 排序的图层不使用象限大小,这种图层中的图块会按 Y 位置分组。
|
||
|
||
\ **注意:**\ 象限是根据地图坐标系创建的,“正方形”的象限在 TileMap 的局部坐标系中可能并不是正方形。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_property_tile_set:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`TileSet<class_TileSet>` **tile_set** :ref:`🔗<class_TileMap_property_tile_set>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_tileset**\ (\ value\: :ref:`TileSet<class_TileSet>`\ )
|
||
- :ref:`TileSet<class_TileSet>` **get_tileset**\ (\ )
|
||
|
||
该 **TileMap** 所使用的 :ref:`TileSet<class_TileSet>`\ 。所有可用图块的纹理、碰撞以及其他额外行为都存储在这里。
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
方法说明
|
||
--------
|
||
|
||
.. _class_TileMap_private_method__tile_data_runtime_update:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_tile_data_runtime_update**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, tile_data\: :ref:`TileData<class_TileData>`\ ) |virtual| :ref:`🔗<class_TileMap_private_method__tile_data_runtime_update>`
|
||
|
||
会使用 TileMap 内部即将使用的 TileData 对象来调用,从而实现运行时修改。
|
||
|
||
这个方法被调用的前提是:实现了 :ref:`_use_tile_data_runtime_update()<class_TileMap_private_method__use_tile_data_runtime_update>`\ ,并且对给定的图块坐标 ``coords`` 和层 ``layer`` 返回 ``true`` 。
|
||
|
||
\ **警告:**\ 该 ``tile_data`` 对象的子资源和 TileSet 中的子资源是一样的。对它们进行修改可能会影响整个 TileSet。请确保制作这些资源的副本再进行修改。
|
||
|
||
\ **注意:**\ 如果 ``tile_data`` 对象的属性要随时间变化,请使用 :ref:`notify_runtime_tile_data_update()<class_TileMap_method_notify_runtime_tile_data_update>` 来通知该 TileMap 它需要更新。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_private_method__use_tile_data_runtime_update:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_use_tile_data_runtime_update**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| :ref:`🔗<class_TileMap_private_method__use_tile_data_runtime_update>`
|
||
|
||
如果位于层 ``layer`` 坐标 ``coords`` 的图块需要运行时更新,则应返回 ``true``\ 。
|
||
|
||
\ **警告:**\ 请确保这个函数只在需要时返回 ``true``\ 。任何在没有需要的情况下在运行时处理的图块都将导致显著的性能损失。
|
||
|
||
\ **注意:**\ 如果该函数的结果发生变化,请使用 :ref:`notify_runtime_tile_data_update()<class_TileMap_method_notify_runtime_tile_data_update>` 通知 TileMap 它需要更新。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_add_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_layer**\ (\ to_position\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TileMap_method_add_layer>`
|
||
|
||
在数组中的给定位置 ``to_position`` 添加层。如果 ``to_position`` 为负数,则位置从结尾处开始计数,\ ``-1`` 会把层添加在数组的末尾。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_clear:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **clear**\ (\ ) :ref:`🔗<class_TileMap_method_clear>`
|
||
|
||
清除所有单元格。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_clear_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **clear_layer**\ (\ layer\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TileMap_method_clear_layer>`
|
||
|
||
清除给定图层上的所有单元格。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_erase_cell:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **erase_cell**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`\ ) :ref:`🔗<class_TileMap_method_erase_cell>`
|
||
|
||
擦除图层 ``layer`` 上位于 ``coords`` 坐标的单元格。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_fix_invalid_tiles:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **fix_invalid_tiles**\ (\ ) :ref:`🔗<class_TileMap_method_fix_invalid_tiles>`
|
||
|
||
清除图块集中不存在的单元格。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_force_update:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **force_update**\ (\ layer\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TileMap_method_force_update>`
|
||
|
||
**已弃用:** Use :ref:`notify_runtime_tile_data_update()<class_TileMap_method_notify_runtime_tile_data_update>` and/or :ref:`update_internals()<class_TileMap_method_update_internals>` instead.
|
||
|
||
强制更新 TileMap 和图层 ``layer``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_cell_alternative_tile:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_cell_alternative_tile**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TileMap_method_get_cell_alternative_tile>`
|
||
|
||
返回 ``layer`` 层中位于坐标 ``coords`` 单元格的图块备选 ID。
|
||
|
||
如果 ``use_proxies`` 为 ``false``\ ,则会忽略该 :ref:`TileSet<class_TileSet>` 的图块代理,返回原始的备选标识符。见 :ref:`TileSet.map_tile_proxy()<class_TileSet_method_map_tile_proxy>`\ 。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_cell_atlas_coords:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2i<class_Vector2i>` **get_cell_atlas_coords**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TileMap_method_get_cell_atlas_coords>`
|
||
|
||
返回图层 ``layer`` 上坐标 ``coords`` 处单元格的图块地图集坐标 ID。如果单元格不存在,则返回 ``Vector2i(-1, -1)``\ 。
|
||
|
||
如果 ``use_proxies`` 为 ``false``\ ,则忽略 :ref:`TileSet<class_TileSet>` 的图块代理,返回原始图集坐标标识符。请参阅 :ref:`TileSet.map_tile_proxy()<class_TileSet_method_map_tile_proxy>`\ 。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_cell_source_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_cell_source_id**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TileMap_method_get_cell_source_id>`
|
||
|
||
返回坐标 ``coords`` 处图层 ``layer`` 上单元格的图块源 ID。如果单元格不存在,则返回 ``-1``\ 。
|
||
|
||
如果 ``use_proxies`` 为 ``false``\ ,则忽略 :ref:`TileSet<class_TileSet>` 的图块代理,返回原始源标识符。请参阅 :ref:`TileSet.map_tile_proxy()<class_TileSet_method_map_tile_proxy>`\ 。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_cell_tile_data:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`TileData<class_TileData>` **get_cell_tile_data**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TileMap_method_get_cell_tile_data>`
|
||
|
||
返回与给定单元格关联的 :ref:`TileData<class_TileData>` 对象,如果单元格不存在或者不是 :ref:`TileSetAtlasSource<class_TileSetAtlasSource>` 则返回 ``null``\ 。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
::
|
||
|
||
func get_clicked_tile_power():
|
||
var clicked_cell = tile_map.local_to_map(tile_map.get_local_mouse_position())
|
||
var data = tile_map.get_cell_tile_data(0, clicked_cell)
|
||
if data:
|
||
return data.get_custom_data("power")
|
||
else:
|
||
return 0
|
||
|
||
如果 ``use_proxies`` 为 ``false``\ ,则会忽略 :ref:`TileSet<class_TileSet>` 的图块代理。见 :ref:`TileSet.map_tile_proxy()<class_TileSet_method_map_tile_proxy>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_coords_for_body_rid:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2i<class_Vector2i>` **get_coords_for_body_rid**\ (\ body\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_TileMap_method_get_coords_for_body_rid>`
|
||
|
||
返回给定物理物体 RID 对应图块的坐标。与图块发生碰撞时,可以通过 :ref:`KinematicCollision2D.get_collider_rid()<class_KinematicCollision2D_method_get_collider_rid>` 获取该 RID。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_layer_for_body_rid:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_layer_for_body_rid**\ (\ body\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_TileMap_method_get_layer_for_body_rid>`
|
||
|
||
返回给定物理物体 RID 对应图块的 TileMap 图层。与图块发生碰撞时,可以通过 :ref:`KinematicCollision2D.get_collider_rid()<class_KinematicCollision2D_method_get_collider_rid>` 获取该 RID。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_layer_modulate:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Color<class_Color>` **get_layer_modulate**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_get_layer_modulate>`
|
||
|
||
返回 TileMap 图层的调制颜色。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_layer_name:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`String<class_String>` **get_layer_name**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_get_layer_name>`
|
||
|
||
返回 TileMap 图层的名称。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_layer_navigation_map:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **get_layer_navigation_map**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_get_layer_navigation_map>`
|
||
|
||
返回分配给指定 TileMap 图层 ``layer`` 的 :ref:`NavigationServer2D<class_NavigationServer2D>` 导航地图的 :ref:`RID<class_RID>`\ 。
|
||
|
||
默认情况下,TileMap 为第一个 TileMap 层,使用默认的 :ref:`World2D<class_World2D>` 导航地图。对于每个附加的 TileMap 层,都会为附加层创建一个新的导航地图。
|
||
|
||
为了使 :ref:`NavigationAgent2D<class_NavigationAgent2D>` 在 TileMap 层导航地图之间切换,使用 :ref:`NavigationAgent2D.set_navigation_map()<class_NavigationAgent2D_method_set_navigation_map>` 和从 :ref:`get_navigation_map()<class_TileMap_method_get_navigation_map>` 接收的导航地图。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_layer_y_sort_origin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_layer_y_sort_origin**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_get_layer_y_sort_origin>`
|
||
|
||
返回 TileMap 图层的 Y 排序原点。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_layer_z_index:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_layer_z_index**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_get_layer_z_index>`
|
||
|
||
返回 TileMap 图层的 Z 索引值。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_layers_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_layers_count**\ (\ ) |const| :ref:`🔗<class_TileMap_method_get_layers_count>`
|
||
|
||
返回 TileMap 图层的数量。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_navigation_map:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **get_navigation_map**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_get_navigation_map>`
|
||
|
||
**已弃用:** Use :ref:`get_layer_navigation_map()<class_TileMap_method_get_layer_navigation_map>` instead.
|
||
|
||
返回分配给指定 TileMap 图层 ``layer`` 的 :ref:`NavigationServer2D<class_NavigationServer2D>` 导航地图的 :ref:`RID<class_RID>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_neighbor_cell:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2i<class_Vector2i>` **get_neighbor_cell**\ (\ coords\: :ref:`Vector2i<class_Vector2i>`, neighbor\: :ref:`CellNeighbor<enum_TileSet_CellNeighbor>`\ ) |const| :ref:`🔗<class_TileMap_method_get_neighbor_cell>`
|
||
|
||
返回与位于坐标 ``coords`` 的单元格相邻的单元格,方向由 ``neighbor`` 表示。这个方法会考虑 TileMap 的不同布局。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_pattern:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`TileMapPattern<class_TileMapPattern>` **get_pattern**\ (\ layer\: :ref:`int<class_int>`, coords_array\: :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\]\ ) :ref:`🔗<class_TileMap_method_get_pattern>`
|
||
|
||
根据给定的图层和单元格新建 :ref:`TileMapPattern<class_TileMapPattern>`\ 。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_surrounding_cells:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] **get_surrounding_cells**\ (\ coords\: :ref:`Vector2i<class_Vector2i>`\ ) :ref:`🔗<class_TileMap_method_get_surrounding_cells>`
|
||
|
||
返回与 ``coords`` 处的单元格相邻的所有单元格的列表。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_used_cells:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] **get_used_cells**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_get_used_cells>`
|
||
|
||
返回 :ref:`Vector2i<class_Vector2i>` 数组,其中存放的是给定图层中所有包含图块的单元格的位置。空单元格的源标识符等于 -1、图集坐标标识符为 ``Vector2(-1, -1)``\ 、备选标识符为 -1。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_used_cells_by_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] **get_used_cells_by_id**\ (\ layer\: :ref:`int<class_int>`, source_id\: :ref:`int<class_int>` = -1, atlas_coords\: :ref:`Vector2i<class_Vector2i>` = Vector2i(-1, -1), alternative_tile\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TileMap_method_get_used_cells_by_id>`
|
||
|
||
返回 :ref:`Vector2i<class_Vector2i>` 数组,其中存放的是给定图层中所有包含图块的单元格的位置。可以根据源(\ ``source_id``\ )、图集坐标(\ ``atlas_coords``\ )、备选 ID(\ ``alternative_tile``\ )进行过滤。
|
||
|
||
如果某个参数为默认值,则该参数不会用于单元格的过滤。因此,如果所有参数都使用默认值,则返回的结果与 :ref:`get_used_cells()<class_TileMap_method_get_used_cells>` 相同。
|
||
|
||
空单元格的源标识符等于 -1、图集坐标标识符为 ``Vector2(-1, -1)``\ 、备选标识符为 -1。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_get_used_rect:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Rect2i<class_Rect2i>` **get_used_rect**\ (\ ) |const| :ref:`🔗<class_TileMap_method_get_used_rect>`
|
||
|
||
返回该地图的包围矩形,包围所有图层中的已使用(非空)的图块。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_is_cell_flipped_h:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_cell_flipped_h**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TileMap_method_is_cell_flipped_h>`
|
||
|
||
如果在 ``layer`` 层中位于坐标 ``coords`` 的单元格发生了水平翻转,则返回 ``true``\ 。结果仅对图集源有效。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_is_cell_flipped_v:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_cell_flipped_v**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TileMap_method_is_cell_flipped_v>`
|
||
|
||
如果在 ``layer`` 层中位于坐标 ``coords`` 的单元格发生了垂直翻转,则返回 ``true``\ 。结果仅对图集源有效。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_is_cell_transposed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_cell_transposed**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, use_proxies\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TileMap_method_is_cell_transposed>`
|
||
|
||
如果在 ``layer`` 层中位于坐标 ``coords`` 的单元格发生了转置,则返回 ``true``\ 。结果仅对图集源有效。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_is_layer_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_layer_enabled**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_is_layer_enabled>`
|
||
|
||
返回某个图层是否已启用。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_is_layer_navigation_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_layer_navigation_enabled**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_is_layer_navigation_enabled>`
|
||
|
||
返回是否启用图层的内置导航区块生成。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_is_layer_y_sort_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_layer_y_sort_enabled**\ (\ layer\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TileMap_method_is_layer_y_sort_enabled>`
|
||
|
||
返回某个图层是否会对图块进行 Y 排序。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_local_to_map:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2i<class_Vector2i>` **local_to_map**\ (\ local_position\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_TileMap_method_local_to_map>`
|
||
|
||
返回包含给定 ``local_position`` 的单元格地图坐标。如果 ``local_position`` 使用全局坐标,请考虑在传入这个方法前使用 :ref:`Node2D.to_local()<class_Node2D_method_to_local>`\ 。另见 :ref:`map_to_local()<class_TileMap_method_map_to_local>`\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_map_pattern:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2i<class_Vector2i>` **map_pattern**\ (\ position_in_tilemap\: :ref:`Vector2i<class_Vector2i>`, coords_in_pattern\: :ref:`Vector2i<class_Vector2i>`, pattern\: :ref:`TileMapPattern<class_TileMapPattern>`\ ) :ref:`🔗<class_TileMap_method_map_pattern>`
|
||
|
||
如果图案粘贴在 ``position_in_tilemap`` 坐标处(请参阅 :ref:`set_pattern()<class_TileMap_method_set_pattern>`\ ),则返回 :ref:`TileMapPattern<class_TileMapPattern>` 中给定坐标 ``coords_in_pattern`` 对应的单元格坐标。该映射是必需的,因为在半偏移图块形状中,映射可能无法通过计算 ``position_in_tile_map + coords_in_pattern`` 工作。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_map_to_local:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2<class_Vector2>` **map_to_local**\ (\ map_position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| :ref:`🔗<class_TileMap_method_map_to_local>`
|
||
|
||
返回单元格的中心位置,使用 TileMap 的局部坐标。要将返回值转换为全局坐标,请使用 :ref:`Node2D.to_global()<class_Node2D_method_to_global>`\ 。另见 :ref:`local_to_map()<class_TileMap_method_local_to_map>`\ 。
|
||
|
||
\ **注意:**\ 可能与图块的可视位置没有对应关系,即忽略各个图块的 :ref:`TileData.texture_origin<class_TileData_property_texture_origin>` 属性。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_move_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **move_layer**\ (\ layer\: :ref:`int<class_int>`, to_position\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TileMap_method_move_layer>`
|
||
|
||
将索引 ``layer`` 处的图层移动到数组中给定的位置 ``to_position``\ 。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_notify_runtime_tile_data_update:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **notify_runtime_tile_data_update**\ (\ layer\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TileMap_method_notify_runtime_tile_data_update>`
|
||
|
||
通知 TileMap 节点调用 :ref:`_use_tile_data_runtime_update()<class_TileMap_private_method__use_tile_data_runtime_update>` 或 :ref:`_tile_data_runtime_update()<class_TileMap_private_method__tile_data_runtime_update>` 将导致不同的结果。这将因此触发 TileMap 更新。
|
||
|
||
如果提供了 ``layer``\ ,则仅通知给定层的更改。出于性能原因,通常首选提供 ``layer`` 参数(如果适用)。
|
||
|
||
\ **警告:**\ 更新 TileMap 的计算成本很高,并且可能会影响性能。尝试限制该函数的调用次数,以避免不必要的更新。
|
||
|
||
\ **注意:**\ 这不会触发 TileMap 的直接更新,该更新将照常在帧结束时完成(除非你调用 :ref:`update_internals()<class_TileMap_method_update_internals>`\ )。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_remove_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_layer**\ (\ layer\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TileMap_method_remove_layer>`
|
||
|
||
移除索引为 ``layer`` 的层。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_cell:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_cell**\ (\ layer\: :ref:`int<class_int>`, coords\: :ref:`Vector2i<class_Vector2i>`, source_id\: :ref:`int<class_int>` = -1, atlas_coords\: :ref:`Vector2i<class_Vector2i>` = Vector2i(-1, -1), alternative_tile\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TileMap_method_set_cell>`
|
||
|
||
设置位于层 ``layer`` 坐标为 ``coords`` 的单元格的图块标识符。\ :ref:`TileSet<class_TileSet>` 中的每个图块都由三部分进行标识:
|
||
|
||
- 源标识符 ``source_id`` 标识的是 :ref:`TileSetSource<class_TileSetSource>` 标识符。见 :ref:`TileSet.set_source_id()<class_TileSet_method_set_source_id>`\ ,
|
||
|
||
- 图集坐标标识符 ``atlas_coords`` 标识的是图集中的图块坐标(如果使用的是 :ref:`TileSetAtlasSource<class_TileSetAtlasSource>` 源)。如果使用的是 :ref:`TileSetScenesCollectionSource<class_TileSetScenesCollectionSource>`\ ,应该始终为 ``Vector2i(0, 0)``\ ,
|
||
|
||
- 备选图块标识符 ``alternative_tile`` 标识的是图集中的图块备选项(如果使用的是 :ref:`TileSetAtlasSource<class_TileSetAtlasSource>` 源),如果使用的是 :ref:`TileSetScenesCollectionSource<class_TileSetScenesCollectionSource>` 则标识的是场景。
|
||
|
||
如果 ``source_id`` 为 ``-1``\ 、\ ``atlas_coords`` 为 ``Vector2i(-1, -1)`` 或 ``alternative_tile`` 为 ``-1``\ ,则会擦除该单元格。擦除后的单元格中,\ **所有**\ 标识符都会自动设为对应的无效值,即 ``-1``\ 、\ ``Vector2i(-1, -1)`` 和 ``-1``\ 。
|
||
|
||
如果 ``layer`` 为负数,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_cells_terrain_connect:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_cells_terrain_connect**\ (\ layer\: :ref:`int<class_int>`, cells\: :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\], terrain_set\: :ref:`int<class_int>`, terrain\: :ref:`int<class_int>`, ignore_empty_terrains\: :ref:`bool<class_bool>` = true\ ) :ref:`🔗<class_TileMap_method_set_cells_terrain_connect>`
|
||
|
||
更新 ``cells`` 坐标数组中的所有单元格,以便它们将给定的 ``terrain`` 用于给定的 ``terrain_set``\ 。如果一个更新的单元格与其相邻单元格之一具有相同的地形,则该函数会尝试将两者连接起来。如果需要创建正确的地形过渡,该函数可能会更新相邻的图块。
|
||
|
||
如果 ``ignore_empty_terrains`` 为 ``true``\ ,则在尝试为给定地形约束找到最合适的图块时,空地形将被忽略。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
\ **注意:**\ 要正常工作,这个方法需要 TileMap 的 TileSet 设置了具有所有必需地形组合的地形。否则,可能会产生意想不到的结果。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_cells_terrain_path:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_cells_terrain_path**\ (\ layer\: :ref:`int<class_int>`, path\: :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\], terrain_set\: :ref:`int<class_int>`, terrain\: :ref:`int<class_int>`, ignore_empty_terrains\: :ref:`bool<class_bool>` = true\ ) :ref:`🔗<class_TileMap_method_set_cells_terrain_path>`
|
||
|
||
更新 ``path`` 坐标数组中的所有单元格,以便它们将给定的 ``terrain`` 用于给定的 ``terrain_set``\ 。该函数还将连接路径中具有相同地形的两个连续单元格。如果需要创建正确的地形过渡,该函数可能会更新相邻的图块。
|
||
|
||
如果 ``ignore_empty_terrains`` 为 ``true``\ ,则在尝试为给定地形约束找到最合适的图块时将忽略空地形。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
\ **注意:**\ 要正常工作,这个方法需要 TileMap 的 TileSet 设置了具有所有必需地形组合的地形。否则,可能会产生意想不到的结果。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_enabled**\ (\ layer\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TileMap_method_set_layer_enabled>`
|
||
|
||
启用或禁用图层 ``layer``\ 。被禁用的图层根本不会被处理(没有渲染、物理等)。
|
||
|
||
如果 ``layer`` 为负数,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_modulate:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_modulate**\ (\ layer\: :ref:`int<class_int>`, modulate\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_TileMap_method_set_layer_modulate>`
|
||
|
||
设置图层的颜色。该颜色会与图块的颜色以及 TileMap 的调制色相乘。
|
||
|
||
如果 ``layer`` 为负,则逆序访问图层。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_name:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_name**\ (\ layer\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TileMap_method_set_layer_name>`
|
||
|
||
设置图层的名称。主要在编辑器中使用。
|
||
|
||
如果 ``layer`` 为负,则逆序访问图层。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_navigation_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_navigation_enabled**\ (\ layer\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TileMap_method_set_layer_navigation_enabled>`
|
||
|
||
启用或禁用图层的内置导航区块生成。如果你需要使用 :ref:`NavigationRegion2D<class_NavigationRegion2D>` 节点根据 TileMap 烘焙导航区块,请禁用此项。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_navigation_map:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_navigation_map**\ (\ layer\: :ref:`int<class_int>`, map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_TileMap_method_set_layer_navigation_map>`
|
||
|
||
将 ``map`` 分配给指定 TileMap 图层 ``layer`` 的 :ref:`NavigationServer2D<class_NavigationServer2D>` 导航地图。
|
||
|
||
默认情况下,TileMap 为第一个 TileMap 层使用默认的 :ref:`World2D<class_World2D>` 导航地图。对于每个附加的 TileMap 层,都会为附加层创建一个新的导航地图。
|
||
|
||
为了使 :ref:`NavigationAgent2D<class_NavigationAgent2D>` 在 TileMap 层导航地图之间切换,使用 :ref:`NavigationAgent2D.set_navigation_map()<class_NavigationAgent2D_method_set_navigation_map>` 和从 :ref:`get_navigation_map()<class_TileMap_method_get_navigation_map>` 接收的导航地图。
|
||
|
||
如果 ``layer`` 为负,则从最后一个图层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_y_sort_enabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_y_sort_enabled**\ (\ layer\: :ref:`int<class_int>`, y_sort_enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TileMap_method_set_layer_y_sort_enabled>`
|
||
|
||
启用或禁用图层的 Y 排序。如果进行了 Y 排序,则该图层和 CanvasItem 节点的行为一致,会将其中的每个图块都进行 Y 排序。
|
||
|
||
Y 排序图层的 Z 索引一般应该和未 Y 排序的图层不同,否则未 Y 排序的图层会作为一个整体,和 Y 排序图层一起进行 Y 排序。通常不希望发生这样的行为。
|
||
|
||
如果 ``layer`` 为负,则逆序访问图层。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_y_sort_origin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_y_sort_origin**\ (\ layer\: :ref:`int<class_int>`, y_sort_origin\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TileMap_method_set_layer_y_sort_origin>`
|
||
|
||
设置图层的 Y 排序原点。各个图块的 Y 排序原点值都会加上这个 Y 排序原点值。
|
||
|
||
用例是为图层冒充不同的高度级别。俯视角游戏比较有用。
|
||
|
||
如果 ``layer`` 为负,则逆序访问图层。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_layer_z_index:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_layer_z_index**\ (\ layer\: :ref:`int<class_int>`, z_index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TileMap_method_set_layer_z_index>`
|
||
|
||
设置图层的 Z 索引值。各个图块的 Z 索引值都会加上这个 Z 索引。
|
||
|
||
如果 ``layer`` 为负,则逆序访问图层。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_navigation_map:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_navigation_map**\ (\ layer\: :ref:`int<class_int>`, map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_TileMap_method_set_navigation_map>`
|
||
|
||
**已弃用:** Use :ref:`set_layer_navigation_map()<class_TileMap_method_set_layer_navigation_map>` instead.
|
||
|
||
将 ``map`` 分配为指定 TileMap 层 ``layer`` 的 :ref:`NavigationServer2D<class_NavigationServer2D>` 导航地图。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_set_pattern:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_pattern**\ (\ layer\: :ref:`int<class_int>`, position\: :ref:`Vector2i<class_Vector2i>`, pattern\: :ref:`TileMapPattern<class_TileMapPattern>`\ ) :ref:`🔗<class_TileMap_method_set_pattern>`
|
||
|
||
将给定的 :ref:`TileMapPattern<class_TileMapPattern>` 粘贴到图块地图中的 ``position`` 位置和 ``layer`` 层。
|
||
|
||
如果 ``layer`` 为负,则从最后一层开始访问。
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_TileMap_method_update_internals:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **update_internals**\ (\ ) :ref:`🔗<class_TileMap_method_update_internals>`
|
||
|
||
触发 TileMap 的更新。通常不需要调用这个函数,因为 TileMap 节点的属性发生修改后会自动更新。
|
||
|
||
但是出于性能原因,会对这些更新进行分批,延迟到该帧的末尾执行。调用这个函数会强制 TileMap 立即进行更新。
|
||
|
||
\ **警告:**\ 更新 TileMap 的计算量很大,可能会影响性能。请尽量限制更新的次数和受影响的图块。
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
|
||
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
|
||
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
|
||
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
|
||
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
|
||
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
|
||
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
|
||
.. |void| replace:: :abbr:`void (无返回值。)`
|