【实现100个unity特效之11】实现一个2d游戏万能受击闪白闪烁效果

最终效果

在这里插入图片描述

受击闪白效果

新增白色材质
在这里插入图片描述
放在敌人身上效果
在这里插入图片描述

新增代码控制闪白效果

/// <summary>
/// 闪白
/// </summary>
public class EntityFX : MonoBehaviour
{
    private SpriteRenderer sr;
    [Header("闪光特效")]
    [SerializeField] private float flashDuration = 0.3f; // 闪光持续时间
    [SerializeField] private Material hitMat; // 受击时的材质
    private Material originalMat; // 原始的材质

    private void Start()
    {
        sr = GetComponentInChildren<SpriteRenderer>();
        originalMat = sr.material; // 记录原始的材质
    }

    //执行闪光特效
    public void PlayFlashFX(){
        StartCoroutine(FlashFX());
    }

    // 执行闪光特效的协程
    private IEnumerator FlashFX()
    {
        sr.material = hitMat; // 切换到受击材质
        yield return new WaitForSeconds(flashDuration); // 等待指定的闪光持续时间
        sr.material = originalMat; // 恢复原始材质
    }
}

受伤时调用

entityFX.PlayFlashFX();

效果
在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,最近开始自学unity,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!php是工作,unity是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向宇it

创作不易,感谢你的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值