C# 如何正确设置属性更改的动画
我正在开发一个使用Unity的游戏 下面是一个我如何设置属性更改动画的示例,例如颜色/位置/计数的alpha值 随着时间的推移,有没有更好的方法来处理这些变化 编辑:我希望在动画完成后能够触发事件或执行代码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
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的动画。要触发事件,请使用动画状态或将关键帧添加到动画的最后一帧。