当前位置: 首页 > news >正文

Unity- 游戏结束以及重启游戏

文章目录

  • 游戏结束以及重启游戏
    • 建个游戏结束页面
    • 编写委托类 游戏主角 以及 ui管理类的脚本
    • 重启游戏

游戏结束以及重启游戏

思路:利用Canvas创建好覆盖全屏的结束页面,默认关闭。游戏结束时,玩家控制的对象发起委托,ui管理收下委托,显示游戏结束页面,停止游戏。游戏重新开始就是点击设置好的按钮,启动ui管理里的重新开始场景

建个游戏结束页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DjRdJ0eB-1680148541697)(C:/Users/86188/AppData/Roaming/Typora/typora-user-images/image-20230330105300652.png)]

编写委托类 游戏主角 以及 ui管理类的脚本

  • 委托类

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using System;public class EventHander : MonoBehaviour
    {//通知游戏结束public static event Action GetGameOverEvent;public static void CallGetGameOverEvent () {   GetGameOverEvent ? .Invoke();}
    }
  • 游戏主角脚本

       //青蛙是否死亡private bool isdead;//游戏结束if (isdead) {EventHander.CallGetGameOverEvent();}
    

    在游戏结束的一些判断里把isdead改成true即可。

  • ui管理脚本

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;public class UiManager : MonoBehaviour
    {//游戏结束页面的操作public GameObject gameOverPanel;//脚本刚被调用时使用private void OnEnable() {//恢复游戏速度游戏正常进行Time.timeScale = 1; //注册接收得分的委托EventHander.GetPointEvent += OnGetPointEvent;//游戏结束的通知EventHander.GetGameOverEvent += OnGetGameOvervent;}//脚本不再被使用private void OnDisable() {EventHander.GetPointEvent -= OnGetPointEvent;EventHander.GetGameOverEvent -= OnGetGameOvervent;}///<summary>///处理游戏结束的委托///</summary>private void OnGetGameOvervent(){//显示游戏结束页面gameOverPanel.SetActive(true);//如果游戏结束页面被显示if (gameOverPanel.activeInHierarchy){//游戏速度放慢为0,游戏停止Time.timeScale = 0;}}}

    这样游戏结束就完成了!

    开始测试之前别忘了先关闭游戏结束页面。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvBjq1v9-1680148541698)(C:/Users/86188/AppData/Roaming/Typora/typora-user-images/image-20230330113143486.png)]

DLC:如何完全停止角色的操作

​ 在角色脚本里:

   //输入输出工具组件private PlayerInput playerInput;private void Awake()	{//获取输入输出组件playerInput = GetComponent<PlayerInput>();} private void Update() {if (isdead){DisbleInput();return;}}/// <summary>/// 关闭输入组件/// </summary>private void DisbleInput() {// 关闭输入组件playerInput.enabled = false;}

重启游戏

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;public class UiManager : MonoBehaviour
{///<summary>///重启游戏///</summary>public void RestartGame() {//重新加载之前活跃过的场景SceneManager.LoadScene(SceneManager.GetActiveScene().name);}
}

然后把这个函数放到按钮里去。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ighRkr0y-1680148541699)(C:/Users/86188/AppData/Roaming/Typora/typora-user-images/image-20230330114442971.png)]

完成!!

相关文章:

Unity- 游戏结束以及重启游戏

文章目录游戏结束以及重启游戏建个游戏结束页面编写委托类 游戏主角 以及 ui管理类的脚本重启游戏游戏结束以及重启游戏 思路&#xff1a;利用Canvas创建好覆盖全屏的结束页面&#xff0c;默认关闭。游戏结束时&#xff0c;玩家控制的对象发起委托&#xff0c;ui管理收下委托&…...

NGK BeCu8·11铜合金板材

NGK BeCu811铜合金板材 CB498K、CuSn6Zn4Pb2-B、CC498K、CuSn6Zn4Pb2-C CB494K、CuSn5Pb9-B、CC494K、CuSn5Pb9-C CB495K、CuSn10Pb10-B、CC495K、CuSn10Pb10-C CB496K、CuSn7Pb15-B、CC496K、CuSn7Pb15-C CB497K、CuSn5Pb20-B、CC497K、CuSn5Pb20-C 日本古河连接器专用材料如:…...

电脑突然死机怎么办?正确做法在这!

案例&#xff1a;电脑突然死机怎么办&#xff1f; 【家人们&#xff0c;我刚刚正在做工作报告&#xff0c;突然间电脑就死机了&#xff0c;这可怎么办啊&#xff1f;有什么方法可以快速解决这个问题吗&#xff1f;急急急&#xff01;】 电脑在使用过程中&#xff0c;有时会出…...

基于cell数组的MATLAB仿真(附上完整仿真源码)

MATLAB是一款强大的数学软件&#xff0c;它提供了许多数据结构来存储和处理数据。其中&#xff0c;cell数组是一种非常有用的数据结构&#xff0c;它允许在一个数组中存储不同类型的数据&#xff0c;包括数值、字符串、逻辑值和其他cell数组等。 文章目录简单代码完整仿真源码下…...

电脑蓝屏问题排查

最近电脑安装了最新win10&#xff0c;更新最新的驱动以后&#xff0c;开机几分钟后&#xff0c;会蓝屏重启&#xff0c;报错为&#xff1a; DRIVER_POWER_STATE_FAILURE 下载蓝屏分析工具BlueScreenView 问题出在ntoskrnl.exe bing搜索给出了二种解决方案&#xff1a; 1&a…...

SpringBoot配置slf4j + logback

文章目录日志体系结构在SpringBoot中使用slf4j logback日志框架四种常用的日志输出1. ConsoleAppender2. FileAppender3. RollingFileAppender之TimeBasedRollingPolicy4. RollingFileAppender之SizeAndTimeBasedRollingPolicy日志过滤1. 级别介绍2. 过滤节点filter介绍Spring…...

JAVA——网络编程基本概念

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…...

[JavaEE]----Spring02

文章目录Spring_day021&#xff0c;IOC/DI配置管理第三方bean1.1 案例:数据源对象管理1.1.1 环境准备1.1.2 思路分析1.1.3 实现Druid管理步骤1:导入druid的依赖步骤2:配置第三方bean步骤3:从IOC容器中获取对应的bean对象步骤4:运行程序1.1.4 实现C3P0管理步骤1:导入C3P0的依赖步…...

笔记本可自行更换CPU、独显了,老外用它手搓了台“PS5”

前面说到微软打算在 Win12 出来前搞出个模块化的Windows&#xff1a;下一个系统不是Win12&#xff0c;微软要复活Win10X。 模块化不用小蝾再过多介绍了&#xff0c;就像积木一样拼在一起组成一个整体。 优势就很明显了&#xff0c;由于每个部分都是单独的模块&#xff0c;更新…...

Linux uart驱动框架

Linux内核提供了标准的UART驱动程序&#xff0c;可以通过以下步骤编写&#xff1a; 首先需要定义一个结构体来存储串口设备数据。在该结构体中&#xff0c;包含一个uart_port结构体&#xff0c;用于与Linux内核通信&#xff0c;并包含一些设备特定的数据&#xff08;例如波特率…...

第一个禁止ChatGPT的西方国家

意大利成为第一个有效禁止 ChatGPT 的西方国家。 由于可能违反隐私和数据法&#xff0c;该国的数据监管机构已下令开发聊天机器人的 OpenAI 停止运营。 意大利数据保护局 (GPDP) 提到了一些担忧&#xff0c;包括大量收集用户数据和存储以训练 AI 算法。 ChatGPT 是一种大型语…...

Web 攻防之业务安全:Session会话注销测试.

Web 攻防之业务安全&#xff1a;Session会话注销测试. 业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台&#xff08;操作系统、数据库&#xff0c;中间件等&#xff09;、业务系统自身&#xff08;软件或设备&#xff09;、业务所…...

4月最新编程排行出炉,第一名ChatGPT都在用~

作为一名合格的&#xff08;准&#xff09;程序员&#xff0c;必做的一件事是关注编程语言的热度&#xff0c;编程榜代表了编程语言的市场占比变化&#xff0c;它的变化更预示着未来的科技风向和机会&#xff01; 快跟着一起看看本月排行有何看点&#xff1a; 4月Tiobe排行榜前…...

生成不保存在服务器的附件,并以附件形式发送邮件

需求&#xff1a;从数据库中抓取需要的数据&#xff0c;将数据生成excel表格&#xff0c;并将此表格以附件的形式放置到邮件中发送 //发送带附件的邮件&#xff0c;同时附件不会生成到服务器中public static String sendFileEmail(String form, String code, String to, String…...

Golang Gin框架HTTP上传文件

Golang Gin框架HTTP上传文件解析 文章目录Golang Gin框架HTTP上传文件解析HTTP上传的文件的原理Gin框架文件上传Demo限制文件上传的大小文件类型验证文件上传进度-后台计算文件上传进度HTTP上传的文件的原理 HTTP协议的文件上传是通过HTTP POST请求实现的&#xff0c;使用mult…...

BM36-判断是不是平衡二叉树

题目 输入一棵节点数为 n 二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树 平衡二叉树&#xff08;Balanced Binary Tree&#xff09;&#xff0c;具有以下性质&#xff1a;它是一棵空…...

Quartz 单例定时任务

1、引入jar包&#xff0c;继承 Job 接口&#xff0c;编写需要执行的业务逻辑 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.3.2</version></dependency> public class D…...

不要告诉同事你要离职!打算跳槽,新公司开出两倍薪资,私下告诉要好的同事,却被同事出卖给领导!...

职场上有真正的朋友吗&#xff1f;来看看这位网友的讲述&#xff1a;一位前同事本来打算跳槽&#xff0c;新公司开出的薪资是原来的两倍。她私下告诉了几位同事自己打算离职的消息&#xff0c;并跟同事们分享了工资翻倍的喜悦。可她万万没想到&#xff0c;两天之后的公司会议上…...

RK3399平台开发系列讲解(外设篇)Camera OV13850配置过程

🚀返回专栏总目录 文章目录 一、DTS 配置二、驱动说明三、配置原理四、cam_board.xml沉淀、分享、成长,让自己和他人都能有所收获!😄 📢我们以 OV13850/OV5640 摄像头为例,讲解在该开发板上的配置过程。 一、DTS 配置 isp0: isp@ff910000 {…status = "okay&quo…...

yolov8训练自己的数据集

yolov8训练自己的数据集 1. 标注自己的数据集1.1 确认标注格式1.2 开始标注1. 标注自己的数据集 1.1 确认标注格式 YOLOv8 所用数据集格式与 YOLOv5 YOLOv7 相同,采用格式如下: <object-class-id> <x> <y> <width> <height...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...