Version: 2020.3

Tilemap.SetTilesBlock

切换到手册
public void SetTilesBlock (BoundsInt position, TileBase[] tileArray);

参数

position 要填充的边界。
tileArray 要放置的 Tiles 的数组。

描述

使用瓦片数组填充边界。

与对每个位置逐一调用 SetTile 相比,这种批量设置瓦片的方式更高效。 边界大小必须与数组大小匹配。例如,边界 1x2x3 需要数组长度 6。

// Fill area on tilemap with checkerboard pattern of tileA and tileB
using UnityEngine;
using UnityEngine.Tilemaps;

public class ExampleClass : MonoBehaviour { public TileBase tileA; public TileBase tileB; public BoundsInt area;

void Start() { TileBase[] tileArray = new TileBase[area.size.x * area.size.y * area.size.z]; for (int index = 0; index < tileArray.Length; index++) { tileArray[index] = index % 2 == 0 ? tileA : tileB; } Tilemap tilemap = GetComponent<Tilemap>(); tilemap.SetTilesBlock(area, tileArray); } }