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

代码如下:

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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值