Version: 2020.3

GridBrushBase

class in UnityEngine

切换到手册

描述

使用网格绘图工具(如绘画、擦除、拾取、选择和填充)在网格上创作数据的基类。

通过继承该类和/或从继承的类创建画笔资源实例,您可以创建自定义画笔,以响应高级网格事件,如绘画、擦除、拾取、选择和填充。

using UnityEngine;

// Paints two Prefabs in checkerboard pattern [CreateAssetMenu] public class CheckerboardBrush : GridBrushBase { public GameObject prefabA; public GameObject prefabB;

public override void Paint(GridLayout grid, GameObject brushTarget, Vector3Int position) { bool evenCell = Mathf.Abs(position.y + position.x) % 2 > 0; GameObject toBeInstantiated = evenCell ? prefabA : prefabB;

if (toBeInstantiated != null) { GameObject newInstance = Instantiate(toBeInstantiated, grid.CellToWorld(position), Quaternion.identity); newInstance.transform.SetParent(brushTarget.transform); } } }

公共函数

BoxErase擦除网格上给定边界内的数据。
BoxFill将瓦片和 GameObject 框填到所选图层的给定边界内。
ChangeZPosition更改 GridBrushBase 的 Z 位置。
Erase擦除网格上给定边界内的数据。
Flip翻转给定 FlipAxis 中的网格画笔。
FloodFill给定单元格的起始坐标,将数据灌填到网格中。
Move当用户移动之前使用选取框选择的区域时,将调用 Move。
MoveEnd当用户已结束对之前使用选取框选择的区域进行移动时,将调用 MoveEnd。
MoveStart当用户开始对之前使用选取框选择的区域进行移动时,将调用 MoveEnd。
Paint将数据绘制到网格上的给定边界内。
Pick给定单元格坐标,从网格中选取数据。
ResetZPosition重置 GridBrushBase 的 Z 位置更改。
Rotate按照给定的 RotationDirection 旋转网格画笔上的所有瓦片。
Select选择网格区域。