Tile
类是一个允许在瓦片地图上渲染精灵的简单类。Tile 继承自 TileBase
。下面描述了为具有 Tile 的行为而要重写的方法。
public Sprite sprite;
public Color color = Color.white;
public Matrix4x4 transform = Matrix4x4.identity;
public GameObject gameobject = null;
public TileFlags flags = TileFlags.LockColor;
public ColliderType colliderType = ColliderType.Sprite;
这些是 Tile 的默认属性。如果通过将精灵拖放到 Tilemap Palette 上来创建瓦片,则瓦片会将 Sprite 属性设置为已放入的精灵。可调整瓦片实例的属性来获取所需的瓦片。
public void RefreshTile(Vector3Int location, ITilemap tilemap)
不会由 TileBase
重写。默认情况下,仅刷新该位置的瓦片。
public override void GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
{
tileData.sprite = this.sprite;
tileData.color = this.color;
tileData.transform = this.transform;
tileData.gameObject = this.gameObject;
tileData.flags = this.flags;
tileData.colliderType = this.colliderType;
}
通过将 Tile 实例的属性复制到 tileData
来填充瓦片地图渲染瓦片时所需的信息。
public bool GetTileAnimationData(Vector3Int location, ITilemap tilemap, ref TileAnimationData tileAnimationData)
不会由 TileBase 重写。默认情况下,Tile 类不运行任何瓦片动画并会返回 false。
public bool StartUp(Vector3Int location, ITilemap tilemap, GameObject go)
This is not overridden from TileBase
. By default, the Tile
class does not have any special start up functionality. If tileData.gameObject
is set, the Tilemap still instantiates it on start up and place it at the location of the Tile.