Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

TileSetScenesCollectionSource

继承: TileSetSource < Resource < RefCounted < Object

以图块的形式向 TileSet 资源暴露一组场景。

描述

当放置在 TileMap 上时,来自 TileSetScenesCollectionSource 中的图块将在 TileMap 中的单元格位置自动实例化一个关联场景。

当该 TileMap 进入树时,场景被实例化为该 TileMap 的子级。如果在已在树内的 TileMap 中添加/移除一个场景图块,则该 TileMap 将相应地自动实例化/释放该场景。

方法

int

create_scene_tile ( PackedScene packed_scene, int id_override=-1 )

int

get_next_scene_tile_id ( ) const

bool

get_scene_tile_display_placeholder ( int id ) const

int

get_scene_tile_id ( int index )

PackedScene

get_scene_tile_scene ( int id ) const

int

get_scene_tiles_count ( )

bool

has_scene_tile_id ( int id )

void

remove_scene_tile ( int id )

void

set_scene_tile_display_placeholder ( int id, bool display_placeholder )

void

set_scene_tile_id ( int id, int new_id )

void

set_scene_tile_scene ( int id, PackedScene packed_scene )


方法说明

int create_scene_tile ( PackedScene packed_scene, int id_override=-1 )

从给定的场景创建基于场景的图块。

返回新生成的唯一 ID。


int get_next_scene_tile_id ( ) const

返回后续调用 create_scene_tile 时会返回的场景 ID。


bool get_scene_tile_display_placeholder ( int id ) const

返回 ID 为 id 的场景图块是否在编辑器中显示占位图。


int get_scene_tile_id ( int index )

返回索引为 index 的场景图块的场景图块 ID。


PackedScene get_scene_tile_scene ( int id ) const

返回 ID 为 id 的场景图块的 PackedScene 资源。


int get_scene_tiles_count ( )

返回该 TileSet 源中场景图块的数量。


bool has_scene_tile_id ( int id )

返回该 TileSet 源是否包含 ID 为 id 的场景图块。


void remove_scene_tile ( int id )

移除 ID 为 id 的场景图块。


void set_scene_tile_display_placeholder ( int id, bool display_placeholder )

设置 ID 为 id 的场景图块是否应该在编辑器中显示为占位符。对不可见的场景可能有用。


void set_scene_tile_id ( int id, int new_id )

将场景图块的 ID 从 id 改为 new_id。如果已经存在 ID 为 new_id 的图块则会失败。


void set_scene_tile_scene ( int id, PackedScene packed_scene )

PackedScene 资源分配给 ID 为 id 的场景图块。如果该场景扩展的不是 CanvasItem 则会失败,因为将场景放置到 TileMap 上需要位置属性。