Tile
クラスは、タイルマップ上にスプライトを描画するための単純なクラスです。 Tile は TileBase
から継承されます。以下は、タイルの挙動を実現するためにオーバーライドされるメソッドの説明です。
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;
これらがタイルのデフォルトのプロパティです。 Tilemap Pallete にスプライトをドラッグ&ドロップして作成されたタイルであれば、そのタイルの 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;
}
これによりタイルのインスタンスのプロパティが tileData
内にコピーされ、タイルマップがタイルを描画するために必要な情報が取得されます。
public bool GetTileAnimationData(Vector3Int location, ITilemap tilemap, ref TileAnimationData tileAnimationData)
これは TileBase からオーバーライドされていません。デフォルトでは Tile クラスは 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.