C# 如何正确设置属性更改的动画

C# 如何正确设置属性更改的动画,c#,unity3d,C#,Unity3d,我正在开发一个使用Unity的游戏 下面是一个我如何设置属性更改动画的示例,例如颜色/位置/计数的alpha值 随着时间的推移,有没有更好的方法来处理这些变化 编辑:我希望在动画完成后能够触发事件或执行代码 public class myObject : MonoBehaviour{ //enum indicating the state of the object public enum State { Ready, Disappearing } private State

我正在开发一个使用Unity的游戏

下面是一个我如何设置属性更改动画的示例,例如颜色/位置/计数的alpha值

随着时间的推移,有没有更好的方法来处理这些变化

编辑:我希望在动画完成后能够触发事件或执行代码

public class myObject : MonoBehaviour{

//enum indicating the state of the object
public enum State {
    Ready,
    Disappearing
}

private State objState = State.Ready;

Update (){
    if (objState == State.Disappearing){
        Color oldColor = this.gameObject.GetComponent<Text>().color;
        oldColor.a -= Time.deltaTime; //disappearing takes one second

        if (oldColor.a <= 0.0f){
            oldColor.a = 0;
            objState = State.Ready;
        }
        this.gameObject.GetComponent<Text>().color = oldColor;
    }
}
}

您处理此类更改的方式是非常标准的方式,特别是如果您想触发事件,只需使用事件的C功能和委托关键字即可。另一种方法是使用Unity的动画。要触发事件,请使用动画状态或将关键帧添加到动画的最后一帧。