30天轻松学会unity自制游戏-开启死亡画面

先来制作死亡後开启死亡画面,把之前死亡画面的Active(开启)暂时先关闭,等Player死亡时候才开启
https://ithelp.ithome.com.tw/upload/images/20210917/20140598cTTPFylyk0.png
(如果不会开启动画视窗在window->Animation->Animator)再次提醒 ^^
https://ithelp.ithome.com.tw/upload/images/20210917/20140598Ks2cbemcHd.png
Player死亡动画大约0.5秒,简单做个淡入动画,在死亡画面透明度0.95的背景上创造一个动画,按Create创造一个动画,会需要存动画位置跟名称
https://ithelp.ithome.com.tw/upload/images/20210917/20140598mPJS0MqVZm.png
按下动画录影的˙把第0秒的背景透明度调到0一秒时透明度调回0.95
https://ithelp.ithome.com.tw/upload/images/20210917/20140598eNtlmThMKs.png
设定完成再次按下录影的˙就完成一个一秒的淡入动画(可自行调整时间或其他动画比方调整位置Y从上到下等等…)
https://ithelp.ithome.com.tw/upload/images/20210917/20140598Fn9bZHZPAg.png
最後找到刚刚的动画,把这个动画的LoopTime的打勾取消掉(未取消就会一直重复淡入)
https://ithelp.ithome.com.tw/upload/images/20210917/20140598asnhTVCT3p.png
最後开一下PlayerControl的程序
https://ithelp.ithome.com.tw/upload/images/20210917/20140598ACwrrMuuer.png
新增一个死亡画面的物件,记得在unity放入死亡画面的物件

    [SerializeField] GameObject dieWindow = null;

碰撞器跟Start的地方加上开启死亡画面或关闭死亡画面

    private void Start()
    {
        anim = GetComponent<Animator>();
        rig = GetComponent<Rigidbody2D>();
        InvokeRepeating("Attack", 1f, 1f);
        hpBar.fillAmount = hp / hpMax;
		//死亡画面的状态为(false)
        dieWindow.SetActive(false);
    }


    private void OnTriggerEnter2D(Collider2D collision)
    {

        if (collision.tag == "EnemyBullet")
        {
            hp -= 5f;
            hpBar.fillAmount = hp / hpMax;
            
            if (hp <= 0)
            {
                anim.SetBool("die", true);
				//死亡画面的状态为(true)
                dieWindow.SetActive(true);
                Destroy(gameObject,0.5f);
            }
        }
    }

现在游戏死亡时就会开启死亡画面,下一篇再来制作按钮


<<:  Day.9 Add Two Numbers

>>:  Day04 | Dart基本介绍 - 变数宣告与基本型别

Day12 NodeJS-Web Server I

今天的目标是:用NodeJS练习写一个简单的Web Server,所以会先介绍一下NodeJS中的h...

【Day28】建立一个 LUIS Bot

今天我们要来将 Chatbot 与 Language Understanding Service (...

[Day16] 检讨会议这样开,就可惜了

我认为整个 Scrum 架构中,对系统以及最终的自组织目标,最重要、最有价值的一场活动,就是检讨会议...

Day 13 - Spread Operator & Rest Operator

在介绍 Spread Operator 和 Rest Operator 之前,先来介绍阵列相加的方法...

让团队把事情做好:厘清任务很重要

成功打造好一个让团队感觉安全、平静的环境,是否就以足够?当然不是。接下来,我们来谈谈人的管理 — 如...