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

2023-12-11 10:20

本文主要是介绍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 updatevoid Start(){bird = GetComponent<Rigidbody2D>();animator = GetComponent<Animator>();gameOver = GameObject.Find("Canvas/Image");}// Update is called once per framevoid 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 updatevoid Start(){}// Update is called once per framevoid 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 updatevoid Start(){}// Update is called once per framevoid 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;}
}

在这里插入图片描述

运行、碰撞死亡就会显示

这篇关于unity 2d 入门 飞翔小鸟 死亡 显示GameOver(十四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/480347

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount