Version: 2018.1
TileBase
TileData

Tile

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)

これは TileBase からオーバーライドされていません。デフォルトでは Tile クラスは特にスタートアップ機能を持っていません。 tileData.gameobject が設定されている場合でも、タイルマップは、それをスタートアップ時にインスタンス化してタイルの場所に配置します。


TileBase
TileData
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961