【Unity植物大战僵尸】结束关卡逻辑(二十五)

43、结束关卡逻辑
资源导入
当僵尸走到房子旁边时触发的逻辑:
实现游戏结束的UI
实现游戏结束的UI的逻辑,在OverPanel.cs中添加代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class OverPanel : MonoBehaviour
{
    private Image image;
    private Image panel;
    
    void Start()
    {
        image = transform.Find("Image").GetComponent<Image>();
        panel = transform.Find("Panel").GetComponent<Image>();
        image.gameObject.SetActive(false);
        panel.gameObject.SetActive(false);
    }
    public void Over()
    {
        // 显示图片
        image.gameObject.SetActive(true);
        // 让panel逐渐变成黑色
        panel.gameObject.SetActive(true);
        StartCoroutine(PanelColorEF());
    }
    IEnumerator PanelColorEF()
    {
        float a = 0;
        while (a < 1)
        {
            a += 0.02f;
            panel.color = new Color(0, 0, 0, a);
            yield return new WaitForSeconds(0.05f);
        }
        // 此时已经全黑,停顿2s,回到主界面
        yield return new WaitForSeconds(2f);
        DoBackMainScene();
    }
    private void DoBackMainScene()
    {
        SceneManager.LoadScene("Start");
    }
}
然后在UIManager.cs中添加管理这个OverPanel的接口
由于游戏结束,不单单涉及到OverPanel这个UI,所以游戏结束的第一接口还是得在LVManager.cs
最后加载GameOver的音效
处理一个bug,当种植的豌豆射手在僵尸右边时,应该不能攻击的,在PeaShooter.cs中添加代码
测试:
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

~Lomiss~

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值