U3D开发点滴-延迟物体消失

来源:互联网 发布:京瓷打印机扫描软件 编辑:程序博客网 时间:2024/05/29 17:48

代码如下:

public class Fade:MonoBehaviour
{
private bool fading;


//设置物体存活时间,后然后消失
public float lifTime = 1;
//物体原本的颜色
private Color originalCol;

//物体的开始消失的时间
private float deathTime;

//物体消失的速度
private float fadeSpeed;

//物体消失的百分比
private float fadePercent;

//获取物体的材质
public Material mat;

void Start()
{
//获取物体原本颜色
mat = render.Material;
originalCol = mat.Color;

deathTime = Time.time * lifeTime;
StartCoroutine("Fade");
}

//消失的方法
IEnumerator Fade()
{
while(true)
{
yield return new WaitForSeconds(.1f);//等待.1秒

//开始消失
if (fading)
{
//计算消失的比例
fadePercent += Time.deltatime * fadeSpeed;
//开始渐变
mat.Color = Math.Lerp(originalColor , Color.clear , fadePercent);

//当完全消失的时候,就应该销毁物体
if (fadePercent >= 1)
{
Destory(gameObject);
}
}


//如果到了消失时间,就开始消失
if (Time.time > deathTime)
{
fading = true;
}
}
}
}

0 0
原创粉丝点击