版本: Unity 6 (6000.0)
语言英语
  • C#

Tilemap.SetTilesBlock

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每一项建议更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void SetTilesBlock(BoundsInt position, TileBase[] tileArray);

参数

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

描述

Tile 数组填充边界。

与对每个 Tile 调用 SetTile 相比,这是一种更有效的设置 Tile 的批处理方法。边界大小必须与数组大小匹配。例如,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); } }

有关更多信息,请参阅 可脚本化 TileTilemap