我正在尝试理解Unity中的tileSystem构建,并且不知道如何停止AnimatedTiles中的动画。
一旦动画开始,我就想不出任何停止它的方法。我正在使用Unity 2018.3.2f1,但我认为TileSystem在下一个版本中是类似的。
仅在AnimatedTile中处理动画的代码为:
public override void GetTileData(Vector3Int location, ITilemap tileMap, ref TileData tileData)
{
tileData.transform = Matrix4x4.identity;
tileData.color = Color.white;
if (m_AnimatedSprites != null && m_AnimatedSprites.Length > 0)
{
tileData.sprite = m_AnimatedSprites[0];
tileData.colliderType = m_TileColliderType;
}
}
public override bool GetTileAnimationData(Vector3Int location, ITilemap tileMap, ref TileAnimationData tileAnimationData)
{
if (m_AnimatedSprites.Length > 0)
{
tileAnimationData.animatedSprites = m_AnimatedSprites;
tileAnimationData.animationSpeed = Random.Range(m_MinSpeed, m_MaxSpeed);
tileAnimationData.animationStartTime = m_AnimationStartTime;
return true;
}
return false;
}
我想在一定时间(比如3秒)或者最后一帧后停止动画。希望能得到帮助!