Unity 2D实战小游戏开发跳跳鸟 - 记录显示最高分

上一篇文章中我们实现了游戏的开始界面,在开始界面中有一个最高分数的UI,本文将接着实现记录最高分数以及在开始界面中显示最高分数的功能。
添加跳跳鸟死亡事件
要记录最高分,则需要在跳跳鸟死亡时去进行判断当前的分数是否是最高分,如果是最高分则进行记录,如果低于之前的最高分则不进行记录。
首先需要实现的就是在跳跳鸟死亡的时候触发一个死亡的事件,用来作为判断最高分的时机,在BirdController类里实现即可,并将当前的BirdController作为参数通过事件传出去,代码如下。
public event Action<BirdController> OnBirdDied;private void OnCollisionEnter2D(Collision2D other)
{if (other.gameObject.CompareTag("Obstacle")){var deathEffect = Instantiate(_birdDeathEffect, transform.position, Quaternion.identity);Destroy(deathEffect, 1f);//跳跳鸟死亡时,调用跳跳鸟死亡事件 OnBirdDied?.Invoke(this);Destroy(gameObject);}
}
将之前跳跳鸟死亡后隐藏的方法删除,并在调用跳跳鸟死亡事件后销毁掉该跳跳鸟。
获取当前的分数
在GameScoreManager中,将之前的私有变量_currentScore替换为一个外部只读,内部可修改的属性供后续判断最高分逻辑时使用,代码如下。
public int CurrentScore { get; private set; }public void ResetScore()
{CurrentScore = 0;_scoreText.text = CurrentScore.ToString();
}private void HandleOnAddScore()
{CurrentScore+相关文章:
Unity 2D实战小游戏开发跳跳鸟 - 记录显示最高分
上一篇文章中我们实现了游戏的开始界面,在开始界面中有一个最高分数的UI,本文将接着实现记录最高分数以及在开始界面中显示最高分数的功能。 添加跳跳鸟死亡事件 要记录最高分,则需要在跳跳鸟死亡时去进行判断当前的分数是否是最高分,如果是最高分则进行记录,如果低于之前…...
Ollama AI 开发助手完全指南:从入门到实践
本文将详细介绍如何使用 Ollama AI 开发助手来提升开发效率,包括环境搭建、模型选择、最佳实践等全方位内容。 © ivwdcwso (ID: u012172506) 目录 基础环境配置模型选择与使用开发工具集成实践应用场景性能优化与注意事项最佳实践总结一、基础环境配置 1.1 系统要求 在…...
Racecar Gym
Racecar Gym 参考:https://github.com/axelbr/racecar_gym/blob/master/README.md 1. 项目介绍 Racecar Gym 是一个基于 PyBullet 物理引擎的 reinforcement learning (RL) 训练环境,模拟微型 F1Tenth 竞速赛车。它兼容 Gym API 和 PettingZoo API&am…...
代码随想录36 动态规划
leetcode 343.整数拆分 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 1…...
离散时间傅里叶变换(DTFT)公式详解:周期性与连续性剖析
摘要 离散时间傅里叶变换(DTFT)是数字信号处理领域的重要工具,它能将离散时间信号从时域转换到频域,揭示信号的频率特性。本文将深入解读DTFT公式,详细阐述其具有周期性和连续性的原因,帮助读者全面理解DT…...
深度学习|表示学习|卷积神经网络|Batch Normalization在干什么?|19
如是我闻: Batch Normalization(批归一化,简称 BN) 是 2015 年由 Ioffe 和 Szegedy 提出 的一种加速深度神经网络训练并提高稳定性的技术。 它的核心思想是:在每一层的输入进行归一化,使其均值接近 0&…...
Go基础之环境搭建
文章目录 1 Go 1.1 简介 1.1.1 定义1.1.2 特点用途 1.2 环境配置 1.2.1 下载安装1.2.2 环境配置 1.2.2.1 添加环境变量1.2.2.2 各个环境变量理解 1.2.3 验证环境变量 1.3 包管理工具 Go Modules 1.3.1 开启使用1.3.2 添加依赖包1.3.3 配置国内包源 1.3.3.1 通过 go env 配置1.…...
echarts、canvas这种渲染耗时的工作能不能放在webworker中做?
可以将 ECharts、Canvas 等渲染耗时的工作放在 Web Worker 中进行处理。Web Worker 允许在后台线程中运行 JavaScript,从而将计算密集型任务从主线程中分离出来,避免阻塞用户界面。以下是一些关键点: 优势 性能提升:将耗时的渲染…...
Android学习21 -- launcher
1 前言 之前在工作中,第一次听到launcher有点蒙圈,不知道是啥,当时还赶鸭子上架去和客户PK launcher的事。后来才知道其实就是安卓的桌面。本来还以为很复杂,毕竟之前接触过windows的桌面,那叫一个复杂。。。 后面查了…...
antd pro框架,使用antd组件修改组件样式
首先用控制台的指针找到组件的类名 然后找到项目的src/global.less文件 在里面进行修改,切记:where(.css-dev-only-do-not-override-5fybr3).ant-input:placeholder-shown这种格式,把where(.css-dev-only-do-not-override-5fybr3)删掉,使用…...
响应式编程_05 Project Reactor 框架
文章目录 概述响应式流的主流实现框架RxJavaReactor Project Reactor 框架Reactor 异步数据序列Flux 和 Mono 组件FluxMono 操作符背压处理 小结 概述 响应式编程_02基本概念:背压机制 Backpressure介绍了响应式流规范以及 Spring 框架中的响应式编程技术ÿ…...
RabbitMQ 从入门到精通:从工作模式到集群部署实战(一)
#作者:闫乾苓 文章目录 RabbitMQ简介RabbitMQ与VMware的关系架构工作流程RabbitMQ 队列工作模式及适用场景简单队列模式(Simple Queue)工作队列模式(Work Queue)发布/订阅模式(Publish/Subscribeÿ…...
导出依赖的几种方法
在 Python 中,你可以使用以下方法导出项目的依赖: 1. 使用 pip freeze pip freeze 可以列出当前环境中安装的所有包及其版本,并将结果保存到 requirements.txt 文件中。 pip freeze > requirements.txt2. 使用 pipreqs pipreqs 可以根…...
CS 与 BS 架构的差异
在数字化的今天,选择软件架构模式对系统的性能、维护、安全和成本都有很大影响。BS架构和CS架构是最常见的两种模式,了解它们的区别和特点对开发人员和企业决策者都很重要。 CS架构最早出现,当时用户直接从主机获取数据。随着客户端和服务端…...
OpenCV YOLOv11实时视频车辆计数线:让车辆进出有条理!
前言 大家好!今天我们聊个超级有趣的课题——如何用OpenCV结合YOLOv11进行实时视频车辆计数。是不是很炫酷?车辆进出全都清晰可见,连“跑车”都能精确统计!不过,别急,这可不仅仅是数车那么简单,背后还有许多实际问题等着你去搞定,比如计数线、车速、误检这些麻烦的小问…...
配置@别名路径,把@/ 解析为 src/
路径解析配置 webpack 安装 craco npm i -D craco/craco 项目根目录下创建文件 craco.config.js ,内容如下 const path require(path) module.exports {webpack: {// 配置别名alias: {// 约定: 使用 表示src文件所在路径: path.resolve(__dirname,src)…...
java 进阶教程_Java进阶教程 第2版
第2版前言 第1版前言 语言基础篇 第1章 Java语言概述 1.1 Java语言简介 1.1.1 Java语言的发展历程 1.1.2 Java的版本历史 1.1.3 Java语言与C/C 1.1.4 Java的特点 1.2 JDK和Java开发环境及工作原理 1.2.1 JDK 1.2.2 Java开发环境 1.2.3 Java工作原理 1.…...
Windows Docker笔记-安装docker
安装环境 操作系统:Windows 11 家庭中文版 docker版本:Docker Desktop version: 4.36.0 (175267) 注意: Docker Desktop 支持以下Windows操作系统: 支持的版本:Windows 10(家庭版、专业版、企业版、教育…...
hot100(7)
61.31. 下一个排列 - 力扣(LeetCode) 数组问题,下一个更大的排列 题解:31. 下一个排列题解 - 力扣(LeetCode) (1)从后向前找到一个相邻的升序对(i,j),此时…...
DeepSeek辅助学术写作【对比概念】效果如何?
DeepSeek-R1在论文写作细节方面有很多好的应用。我们下面通过具体案例来逐一展示这些功能。 DeepSeek-R1在提问方面,可以简化提示词也能给出精准得答案。我们来一探究竟! 对比概念(功能指数:★★★★★) DeepSeek-R1在概念对比方面的功能也非常强大。由…...
RuoYi项目部署避坑大全:从宝塔面板配置到前端OpenSSL报错,一次讲清所有常见问题
RuoYi项目部署避坑指南:从错误现象到根治方案 1. 部署前的环境准备与常见陷阱 部署RuoYi这类前后端分离项目时,环境配置往往是第一个拦路虎。不少开发者习惯直接跳到代码部署环节,却忽略了基础环境的兼容性问题。我们先来看看那些容易被忽视的…...
从LDF文件看LIN调度:为什么说‘可预测性’是汽车低端总线的灵魂?
从LDF文件看LIN调度:为什么说‘可预测性’是汽车低端总线的灵魂? 当你按下车窗按钮时,那个瞬间发生的升降动作背后,隐藏着一套精密的通信协议在默默运作。不同于高端车载网络CAN总线的复杂仲裁机制,LIN总线以其独特的&…...
如何通过AtlasOS实现Windows系统性能与隐私的双重提升:从卡顿到流畅的完整优化方案
如何通过AtlasOS实现Windows系统性能与隐私的双重提升:从卡顿到流畅的完整优化方案 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcod…...
3个秘诀让AI成为你的象棋教练:Vin象棋智能助手完全指南
3个秘诀让AI成为你的象棋教练:Vin象棋智能助手完全指南 【免费下载链接】VinXiangQi Xiangqi syncing tool based on Yolov5 / 基于Yolov5的中国象棋连线工具 项目地址: https://gitcode.com/gh_mirrors/vi/VinXiangQi 你是否曾遇到这样的象棋困境࿱…...
Python服务OOM频发真相:20年C Python内核开发者首曝智能体内存管理策略架构图(含perf+eBPF验证数据)
第一章:Python智能体内存管理策略架构总览Python智能体的内存管理并非简单复用CPython的引用计数与垃圾回收机制,而是构建在多层级抽象之上的协同式策略体系。该体系需同时满足短期对话上下文缓存、长期知识图谱嵌入存储、跨会话记忆检索以及隐私敏感数据…...
LinuxMint 22.1(Ubuntu24.04)下通过Wine完美运行同花顺远航版的实战指南
1. 为什么要在LinuxMint上运行同花顺远航版 作为一个长期使用Linux系统的投资者,我深知在Linux平台上找到一款功能完善的行情软件有多难。同花顺Linux原生版虽然能用,但功能停留在基础行情展示,而且自2022年起就停止了更新。这对于习惯使用Wi…...
检索模型cross-encoder笔记
文章目录计算句子对相似度搜索结果的“重排序”cross-encoder一种检索模型,和双路召回机制不一样,各有优缺点。cross-encoder最大的特点就是会将query(问题)和document(候选文本)一起分析。一般的流程是,双路召回先粗排,cross-enc…...
自己搭建永磁同步电机参数变动模块:为预测控制助力
永磁同步电机参数不确定/参数变化/参数失配/参数摄动模块 其中直交轴电感,电阻,磁链,转动惯量,粘滞摩擦系数可设置为自己所需的时变工况 适合做预测控制的同志们 由于MATLAB封装模块不可改动,于是自己搭建了这个模块,默认版本为2021b最近在研…...
bge-large-zh-v1.5在RAG中的应用:提升问答系统准确率
bge-large-zh-v1.5在RAG中的应用:提升问答系统准确率 1. RAG系统与Embedding模型的关系 1.1 什么是RAG系统 RAG(Retrieval-Augmented Generation)系统是现代问答系统的核心技术架构,它通过两个关键步骤回答用户问题:…...
C#多线程编程实战:Interlocked类如何帮你避免数据竞争(附性能对比)
C#多线程编程实战:Interlocked类如何帮你避免数据竞争(附性能对比) 当你在开发一个需要处理高并发的C#应用时,是否遇到过计数器结果不准确、标志位莫名其妙被重置的诡异情况?这些看似简单的多线程问题,往往…...
