Version: 2022.2

Tilemap.SetTilesBlock

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

参数

position 要填充的边界。
tileArray An array of Tiles to be placed.

描述

Fills bounds with array of Tiles.

This is meant for a more performant way to set Tiles as a batch, when compared to calling SetTile for every single Tile. The bounds size must match the array size. For example bounds of 1x2x3 needs an array length of 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); } }

请参阅可编程瓦片瓦片地图以了解更多信息。