日志2025.2.9
日志2025.2.9
1.增加了敌人挥砍类型
2.增加了敌人的死亡状态
在敌人身上添加Ragdoll,死后激活布偶模式
public class EnemyRagdoll : MonoBehaviour
{
private Rigidbody[] rigidbodies;
private Collider[] colliders;
private void Awake()
{
rigidbodies = GetComponentsInChildren<Rigidbody>();
colliders = GetComponentsInChildren<Collider>();
SetRagdollActive(false);
}
//如果是布偶状态,则设置钢铁不为运动学。若为正常状态,将刚体设为运动学
public void SetRagdollActive(bool active)
{
foreach (Rigidbody rb in rigidbodies)
{
rb.isKinematic = !active;
}
}
//设置碰撞体是否为激活状态
public void SetColliderActive(bool active)
{
foreach(Collider collider in colliders)
{
collider.enabled = active;
}
}
}
public class DeadState_Melee : EnemyState
{
private Enemy_Melee enemy;
private EnemyRagdoll ragdoll;
private bool hasDisapear;
public DeadState_Melee(Enemy enemyBase, EnemyStateMachine stateMachine, string animBoolName) : base(enemyBase, stateMachine, animBoolName)
{
enemy = (Enemy_Melee)enemyBase;
}
public override void Enter()
{
base.Enter();
enemy.agent.isStopped = true;
enemy.animator.enabled = false;
ragdoll = enemy.GetComponent<EnemyRagdoll>();
if (ragdoll != null)
{
ragdoll.SetRagdollActive(true);
}
stateTimer = 5f;
}
public override void Exit()
{
base.Exit();
}
public override void Update()
{
base.Update();
if(stateTimer < 0 && !hasDisapear)
{
hasDisapear = true;
ragdoll?.SetColliderActive(false);
}
}
}
3.增加了简单的血量系统
public override void GetHit()
{
base.GetHit();
if(healthPoint <= 0)
stateMachine.ChangeState(deadState);
}
4.增加了带盾牌的特殊敌人
public class EnemyShield : MonoBehaviour
{
[SerializeField] private int durability;
private Enemy enemy;
private void Awake()
{
enemy = GetComponentInParent<Enemy>();
}
public void ReduceDurability()
{
durability--;
if(durability <= 0)
{
enemy.animator.SetFloat("ChaseIndex", 0);
Destroy(gameObject);
}
}
}
//初始化一些特殊的敌人功能
private void InitializeSpeciality()
{
if(meleeType == EnemyType_Melee.Shield)
{
animator.SetFloat("ChaseIndex", 1);
shieldTransform.gameObject.SetActive(true);
}
}
相关文章:
日志2025.2.9
日志2025.2.9 1.增加了敌人挥砍类型 2.增加了敌人的死亡状态 在敌人身上添加Ragdoll,死后激活布偶模式 public class EnemyRagdoll : MonoBehaviour { private Rigidbody[] rigidbodies; private Collider[] colliders; private void Awake() { rigidbodi…...
支持多种网络数据库格式的自动化转换工具——VisualXML
一、VisualXML软件介绍 对于DBC、ARXML……文件的编辑、修改等繁琐操作,WINDHILL风丘科技开发的总线设计工具——VisualXML,可轻松解决这一问题,提升工作效率。 VisualXML是一个强大且基于Excel表格生成多种网络数据库文件的转换工具&#…...
Java并发编程笔记
Java并发基础知识补全 启动 启动线程的方式只有: 1、X extends Thread;,然后X.start 2、X implements Runnable;然后交给Thread运行 线程的状态 Java中线程的状态分为6种: 1. 初始(NEW):新创建了一个线程对象&…...
大语言模型实践——基于现有API的二次开发
基于现有的API平台做一些实用的AI小应用。 API服务商:阿里云百炼 云服务器:阿里云(2核2GB) 部署框架:gradio 调用框架:openai 语言:Python (注:若搭建网站或API接口…...
获取程序运行目录 (jar运行目录)
FileSystems.getDefault().getPath("").toAbsolutePath().toString() 和 Path.get(MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent() 这两个代码片段在Java中用于获取不同的路径,尤其在打包为JAR文件运行时会有显…...
Elasticsearch:如何使用 Elastic 检测恶意浏览器扩展
作者:来着 Elastic Aaron Jewitt 当你的 CISO 询问你的任何工作站上是否安装过特定的浏览器扩展时,你多快能得到正确答案?恶意浏览器扩展是一个重大威胁,许多组织无法管理或检测。这篇博文探讨了 Elastic Infosec 团队如何使用 os…...
Oracle CDB自动处理表空间不足脚本
之前我曾经发过一个自动处理表空间的脚本,可以通过定时任务自动处理表空间不足的问题;但是之前那个脚本没有涵盖CDB模式下的PDB,这里将脚本做了一下更新,可以处理CDB模式下多PDB的表空间问题。 传统模式的脚本请参考这个链接 Or…...
java-list深入理解(流程图)
List源码学习: 此篇文章使用流程图和源码方式,理解List的源码,方便记忆 核心逻辑流程图: #mermaid-svg-BBrPrDuqUdLMtHvj {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BBrPrDuqUdLMtHvj .error-icon{fill:#…...
Vue 中的 keep-alive 组件是什么?
Vue 中的 keep-alive 组件 keep-alive 是 Vue.js 提供的一个内置组件,用于在组件切换时缓存组件的状态。它可以有效提高用户体验,特别是在需要频繁切换视图的场景中,例如在 SPA(单页面应用)中。 目录 什么是 keep-alive如何使用 keep-alive属性介绍实际示例注意事项总结…...
单元测试的入门实践与应用
单元测试的目的是验证代码中最小的可测试单元(通常为函数或方法)是否按预期运行。它应当独立于系统的其他部分,并专注于特定的功能。 在软件开发中,单元测试是确保代码质量与可维护性的核心环节。优秀的单元测试不仅能帮助开发者…...
【大模型】硅基流动对接DeepSeek使用详解
目录 一、前言 二、硅基流动介绍 2.1 硅基流动平台介绍 2.1.1 平台是做什么的 2.2 主要特点与功能 2.2.1 适用场景 三、硅基流动快速使用 3.1 账户注册 3.2 token获取 3.2.1 获取token技巧 四、Cherry-Studio对接DeepSeek 4.1 获取 Cherry-Studio 4.2 Cherry-Stud…...
[Windows] PDF补丁丁v1.1.0.4627绿色版
[Windows] PDF补丁丁 链接:https://pan.xunlei.com/s/VOIdp50MV2BkOrFott_SCev1A1?pwdvbw4# PDFPatcher 是一款专门用于编辑 PDF 文件的软件,其主要功能包括添加、删除、修改、替换和提取 PDF 文件中的文本、图像、页面等内容,以及支持密码…...
Oracle 变更redo log文件位置
更改Oracle数据库的Redo log文件位置,可以按照以下步骤操作。 1.查询当前Redo log文件信息 select * from v$log; select * from v$logfile;通过查询结果可知Redo log文件放在/oradata/redofile 目录下。 2.拷贝redo log文件到新的位置/Data/redolog $cd /orada…...
使用Redis实现业务信息缓存(缓存详解,缓存更新策略,缓存三大问题)
一、什么是缓存? 缓存是一种高效的数据存储方式,它通过将数据保存在内存中来提供快速的读写访问。这种机制特别适用于需要高速数据访问的应用场景,如网站、应用程序和服务。在处理大量数据和高并发请求时, 缓存能显著提高性能和用户体验。 Redis就是一款常用的缓存中间件。…...
已验证正常,Java输入字符串生成PDF文件
Java输入字符串生成PDF文件过程: 在Java开发中,如何将字符串转换为 PDF 是一个常见的需求。网上找了很多例子都无法生成,经过多次尝试,终于实现了,特此记录一下。 1、引入pom.xml 添加所需的依赖 <dependency>&…...
android手机安装deepseek-r1:1.5b
序 本文主要展示一下如何在android手机上安装deepseek-r1:1.5b 步骤 安装termux 到https://termux.dev/cn/index.html去下载 然后执行termux-setup-storage以获取手机存储权限 安装构建依赖 pkg install git cmake golang下载ollama git clone --depth 1 https://gitee.…...
51单片机俄罗斯方块清屏函数
/************************************************************************************************************** * 名称:LED_Clr * 功能:清屏 * 参数:NULL * 返回:NULL * 备注:temp数组为动态显示数据ÿ…...
PLSQL: 存储过程,用户自定义函数[oracle]
注意: raise notice是高斯的输出语句; DBMS_OUT_PUT.PUT_LINE是oracle的输出语句 存储过程 Stored Procedure 存储过程可以封装数据访问逻辑,使得应用程序可以通过调用存储过程来执行这些逻辑,而不是直接执行SQL语句。这有助于提高代码的可重用性、可…...
深度学习-医学影像诊断
以下以使用深度学习进行医学影像(如 X 光片)的肺炎诊断为例,为你展示基于 PyTorch 框架的代码实现。我们将构建一个简单的卷积神经网络(CNN)模型,使用公开的肺炎 X 光影像数据集进行训练和评估。 1. 安装必…...
备战蓝桥杯:双指针(滑动窗口)算法之逛花展
P1638 逛画展 - 洛谷 | 计算机科学教育新生态 这道题我们只要用一个kind和一个mp[N]的数组就能解决了 我们的解法1就是暴力枚举,先固定2,从2开始找连续的满足所有种类的最短的子数组,然后固定5,3,1,3&…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
