版本:Unity 6 (6000.0)
语言简体中文
  • C#

Tilemap.GetTilesBlockNonAlloc

建议变更

成功!

感谢您帮助我们优化 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读用户建议的每一个变更,并在适用时进行更新。

关闭

提交失败

出于某种原因,无法提交您建议的变更。请在几分钟内<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public int GetTilesBlockNonAlloc(BoundsInt bounds, TileBase[] tiles);

参数

bounds 要从中检索的边界。
tiles 包含给定边界内图块的图块数组。

返回值

int 返回检索到的图块数,包括空项。

描述

使用给定边界检索一个图块数组。

与为每个位置调用 GetTile 相比,此操作旨在提供一种获取图块批次的高性能方式。如果作为参数传递的数组大小小于范围内图块的数量,则不会调整数组大小且结果将受到限制。

// Retrieves all Tiles from an area on the Tilemap and prints out the Tiles to console
using UnityEngine;
using UnityEngine.Tilemaps;

public class ExampleClass : MonoBehaviour { public BoundsInt area;

void Start() { Tilemap tilemap = GetComponent<Tilemap>(); TileBase[] tileArray = new TileBase[16]; int count = tilemap.GetTilesBlockNonAlloc(area, tileArray); for (int index = 0; index < count; index++) { print(tileArray[index]); } } }