unity 2d 入门 飞翔小鸟 死亡 显示GameOver(十四)

1、添加Img

create->ui->img
把图片拖进去
在这里插入图片描述

2、和分数一样、调整位置

在这里插入图片描述

3、修改角色脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Fly : MonoBehaviour
{
    //获取小鸟(刚体)
    private Rigidbody2D bird;
    //速度
    public float speed;
    //跳跃
    public float jump;
    //是否存活
    public static bool life = true;
    //获取动画器
    private Animator animator;
    //结束图片
    private GameObject gameOver;
    //结束跳转时间
    private float time;

    // Start is called before the first frame update
    void Start()
    {
        bird = GetComponent<Rigidbody2D>();
        animator = GetComponent<Animator>();
        gameOver = GameObject.Find("Canvas/Image");
    }

    // Update is called once per frame
    void Update()
    {
        //存活的时候才能运动
        if (life)
        {
            bird.velocity = new Vector2(speed, bird.velocity.y);
            //鼠标点击给目标一个纵向速度
            if (Input.GetMouseButtonDown(0))
            {
                bird.velocity = new Vector2(bird.velocity.x, jump);
            }
        }
        else {
            time += Time.deltaTime;
            if (time>=3) {
                FadeInOut.SwitchScene("start");
            }
        }
        //当触碰到死亡的时候出现
        gameOver.SetActive(!life);
    }
    //如果碰撞器撞到了某个物体
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (life==true) {
            Bling.blinking();
        }
        life = false;
        animator.SetBool("life", false);
    }
}

在这里插入图片描述

4、开始按钮初始化参数

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class StartBtnLis : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    //监听鼠标按下
    private void OnMouseDown()
    {
        Debug.Log("测试按下");
        //对象按比例缩小
        transform.localScale = transform.localScale * 0.8f;
    }
    //监听鼠标松开
    private void OnMouseUp()
    {
        //对象按比例扩大
        transform.localScale = transform.localScale / 0.8f;
        Fly.life = true;
        Score.score = 0;
        FadeInOut.SwitchScene("game");
    }
}

在这里插入图片描述

修改淡入淡出bug,在淡入前点击开始按钮卡住问题

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class FadeInOut : MonoBehaviour
{
    //脚本传进来的图片
    public Texture img;
    //透明度
    public static float alpha = 0;
    //淡出
    public static bool fadeOut = false;
    //淡入
    public static bool fadeIn = false;
    //前端传过来的速度
    public float speed;
    //场景
    private static string scene;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    //渲染页面调用的得是这个方法
    private void OnGUI()
    {
       // Time.deltaTime 上一帧与当前帧间隔帧数
        if (fadeOut){
            alpha += speed * Time.deltaTime;
            if (alpha>1) {
                fadeOut = false;
                fadeIn = true;
                //场景切换
                SceneManager.LoadScene(scene);
            }
        }
        if (fadeIn) {
            alpha -= speed * Time.deltaTime;
            if (alpha<0) {
                fadeIn = false;
            }
        }
        //调整透明度
        GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,alpha);
       //把场景绘制一张黑色图片
        GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),img);
    }

    public static void SwitchScene(string newScene)
    {
        if (fadeIn) fadeIn = false;
         fadeOut = true;
        scene = newScene;
    }
}

在这里插入图片描述

运行、碰撞死亡就会显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值