【Unity】DOTween的常用函数解释
DOTween插件常用函数解释
1.DOTween.To(通用变化动画)
解释:将某一个值在一定的时间内变化到另一个值(通用的函数),可用于大部分的动画变化
使用示例:
using UnityEngine;
using DG.Tweening;
public class ToTest : MonoBehaviour{//移动public void To(float duration){Vector3 endValue = new Vector3(10, 10, 10); //定义终点值DOTween.To(() => transform.position, //要移动的初始值pos => transform.position = pos, //移动过程的位置插值endValue, //目标值duration //移动耗时(秒)); }
}
2.DOMove(移动动画)
解释:将物体从当前位置移动到目标位置
衍生函数:DOMoveX、DOMoveY、DOMoveZ(将物体从当前位置沿着X/Y/Z方向移动)
使用示例:
using UnityEngine;
using DG.Tweening;
public class MoveTest : MonoBehaviour{public void MoveToTargetPosition(float duration,Vector3 targetPosition){transform.DOMove(targetPosition, //目标位置duration //移动耗时);}
}
3.DOScale(缩放动画)
解释:将物体从当前缩放值变化到目标缩放值
衍生函数:DOScaleX、DOScaleY、DOScaleZ(将物体沿X/Y/Z轴方向缩放)
使用示例:
using UnityEngine;
using DG.Tweening;
public class ScaleTest : MonoBehaviour{//缩放到目标缩放值public void ScaleToTargetScale(float duration,Vector3 targetScale){transform.DOScale(targetScale, //目标缩放值duration //缩放耗时);}//基于当前缩放值按倍率进行缩放public void ScaleToTargetScale(float duration,float scale){transform.DOScale(scale, //缩放倍率(基于当前倍率)duration //缩放耗时);}
}
4.DOJump(跳跃动画)
解释:将物体从当前位置”跳跃“到目标位置
endValue:结束位置,
jumpPower:跳跃的最大高度,
numJumps:跳跃次数,
jumpPower:持续时间,
snapping:只取整数值(默认为false)
using UnityEngine;
using DG.Tweening; // 引入命名空间public class Rotate : MonoBehaviour {void Start() {transform.DOJump(new Vector3(2, 2, 2), //结束位置4, //跳跃最大高度4, //跳跃次数5, //持续时间false //false表示取浮点数计算,true表示取整数计算);}
}
5.DOShake(摇晃动画)
解释:模拟随机抖动的效果,无方向性
5.1 位置摇晃
-
DOShakePosition(float duration, float/Vector3 strength, int vibrato, float randomness, bool snapping, bool fadeOut)
5.2 旋转摇晃
-
DOShakeRotation(float duration, float/Vector3 strength, int vibrato, float randomness, bool fadeOut)
5.3 缩放摇晃
-
DOShakeScale(float duration, float/Vector3 strength, int vibrato, float randomness, bool fadeOut)
5.4 参数解释
以下按形参的顺序解释:
duration:持续时间,
strength:晃动幅度(默认为float:1),
vibrato:晃动的次数(默认为10),
randomness:随机晃动角度(0-180,默认为90),
snapping:只取整数值(默认为false),
fadeOut:渐出效果(默认为true)
5.5 示例
using UnityEngine;
using DG.Tweening; // 引入命名空间public class Shake : MonoBehaviour {void Start() {transform.DOShakePosition(5);}
}
6.DOPunch(击打动画)
解释:该动画可以在位置、旋转、缩放三种形式上模拟表现被强力击打后的震动,有明确的方向性
6.1 位置击打
-
DOPunchPosition(Vector3 punch, float duration, int vibrato, float elasticity, bool snapping)
6.2 旋转击打
-
DOPunchRotation(Vector3 punch, float duration, int vibrato, float elasticity)
6.3 缩放击打
-
DOPunchScale(Vector3 punch, float duration, int vibrato, float elasticity)
6.4 参数解释
以下形参按顺序解释:
punch:击打方向和力度,
duration:持续时间,
vibrato:晃动的次数(默认为10),
elasticity:弹性系数(默认为1),
snapping:只取整数值(默认为false)
6.5 示例
using UnityEngine;
using DG.Tweening; // 引入命名空间public class Punch : MonoBehaviour {void Start() {transform.DOPunchPosition(new Vector3(2, 2, 2), 5);}
}
7.文字动画
7.1 文字颜色变化
DOColor(Color to, float duration)
-
to:当前文字当前颜色要变化到的目标颜色
-
duration:变化过程的持续时间
7.2 文字透明度变化
DOFade(float to, float duration)
-
to:数值范围是0~1,表示文字当前不透明度要变化到的目标不透明度
-
duration:变化过程的持续时间
7.3 打字机动画
DOText(string to, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
-
to:要逐个文字打出的文本
-
duration:持续时间
-
richTextEnabled:是否支持富文本(默认为True)
-
scrambleMode:乱码效果模式(默认为不启用乱码)
-
scrambleChars:乱码字符(默认为null)
枚举值 | 说明 |
---|---|
ScrambleMode.None | 默认值,不启用乱码,直接逐字显示原文本。 |
ScrambleMode.All | 所有未显示的字符替换为完全随机字符(如字母、数字、符号)。 |
ScrambleMode.Uppercase | 用随机大写字母作为乱码(如A、X、K )。 |
ScrambleMode.Lowercase | 用随机小写字母作为乱码(如b、q、m )。 |
ScrambleMode.Numerals | 用随机数字作为乱码(如3、9、1 )。 |
ScrambleMode.Custom | 用自定义字符作为乱码(需通过 scrambleChars 参数指定)。 |
8.动画序列(重点)
允许你将多个动画组合在一起,以特定的顺序依次执行。适用于需要在特定时间顺序内执行多个动画的场景,例如:角色的移动、跳跃和旋转等多个动作,可以使用序列来组织这些动画。
8.1 顺序动画(Append)
说明:让多个动画按照在序列中的顺序逐个执行
using DG.Tweening;
public class SequenceTest : MonoBehaviour{// 创建一个空序列Sequence sequence = DOTween.Sequence();// 添加动画到序列(默认按顺序执行)sequence.Append(transform.DOMoveX(5, 1f)); // 第一步:向右移动sequence.Append(transform.DORotate(new Vector3(0, 180, 0), 0.5f)); // 第二步:旋转sequence.Append(transform.DOScale(Vector3.zero, 1f)); // 第三步:缩小消失// 播放序列sequence.Play();
}
8.2 并行动画(Join)
说明:让多个动画同时进行。这个特别适合一些需要同时进行的行为,比如某个角色一边移动一边跳跃。
Sequence sequence = DOTween.Sequence();
// 第一步:移动和旋转同时进行
sequence.Append(transform.DOMoveX(5, 1f));
sequence.Join(transform.DORotate(new Vector3(0, 180, 0), 1f)); // 与移动同步进行
// 第二步:缩小
sequence.Append(transform.DOScale(Vector3.zero, 0.5f));
sequence.Play();
8.3 动画序列的其它操作
Sequence loopTween = DOTween.Sequence();
将一个新的动画添加到序列的末尾。
loopTween.Append(Tween tween);
将一个新的动画添加到序列的开头。
loopTween.Prepend(Tween tween);
将一个新的动画添加到序列中,与当前动画同时播放。
loopTween.Join(Tween tween);
在指定时间插入一个新的动画。
loopTween.Insert(float time, Tween tween);
在序列中添加一个间隔(不执行任何动画的时间)。
loopTween.AppendInterval(float interval):
8.3 暂停、停止、重播、播放序列动画
//播放序列动画
loopTween.Play();
//暂停序列动画
loopTween.Pause();
//停止序列动画
loopTween.Kill();
//重播序列动画
loopTween.Restart();
9.动画缓动(SetEase)
9.1 预设动画缓动表
DOTween为开发者提供了大量的预设好的动画缓动,可以赋予动画不同的运动效果。
类别 | Ease类型 | 效果描述 | 适用场景 |
---|---|---|---|
线性 | Linear | 匀速运动,无加速或减速 | 需要完全均匀的运动 |
平滑缓入 | InSine | 开始时缓慢,逐渐加速(正弦曲线) | 自然感强的启动动作 |
InQuad | 缓入(二次方曲线,比InSine更明显的加速) | 快速启动的动画 | |
InCubic | 缓入(三次方曲线,加速更强) | 强调爆发力效果 | |
InQuart | 缓入(四次方曲线,极强加速) | 极快速的开始 | |
InQuint | 缓入(五次方曲线,最强加速) | 夸张的加速效果 | |
InExpo | 缓入(指数曲线,初始几乎静止,突然加速) | 科技感或突然出现的效果 | |
InCirc | 缓入(圆形曲线,初始慢,后端急剧加速) | 弹射或冲刺效果 | |
InElastic | 缓入弹性效果(带有回弹的振荡) | 弹性物体(如弹簧) | |
InBack | 缓入回拉效果(先轻微反向,再加速) | 卡通风格的预备动作 | |
平滑缓出 | OutSine | 结束时缓慢减速(正弦曲线) | 自然停止的动作 |
OutQuad | 缓出(二次方曲线,明显减速) | 快速停止的动画 | |
OutCubic | 缓出(三次方曲线,减速更强) | 强调缓冲效果 | |
OutQuart | 缓出(四次方曲线,极强减速) | 突然刹车效果 | |
OutQuint | 缓出(五次方曲线,最强减速) | 夸张的缓冲效果 | |
OutExpo | 缓出(指数曲线,运动到终点前几乎无减速,突然停止) | 瞬间停止的科技效果 | |
OutCirc | 缓出(圆形曲线,前端快速,末端急剧减速) | 撞击或急停效果 | |
OutElastic | 缓出弹性效果(到达终点后回弹振荡) | 弹性碰撞(如球落地) | |
OutBack | 缓出回弹效果(超过终点后回拉) | 卡通风格的过冲效果 | |
平滑缓入缓出 | InOutSine | 开始和结束均平滑(正弦曲线) | 自然的循环动作 |
InOutQuad | 对称加速和减速(二次方曲线) | 标准平滑过渡 | |
InOutCubic | 更强的平滑加速和减速(三次方曲线) | 强调中间速度变化 | |
InOutQuart | 极强平滑加速和减速(四次方曲线) | 快速启动和停止 | |
InOutQuint | 最强平滑加速和减速(五次方曲线) | 夸张的平滑效果 | |
InOutExpo | 几乎瞬间加速和减速(指数曲线) | 科技感开关效果 | |
InOutCirc | 前后端急剧变化(圆形曲线) | 模拟跳跃或弹跳 | |
InOutElastic | 中间带有弹性振荡 | 弹性物体的完整动作 | |
InOutBack | 轻微过冲和回拉 | 卡通风格的完整动作 | |
特殊效果 | Flash | 自定义闪烁效果(需设置振幅和频率) | 闪烁、震动 |
FlashIn/FlashOut | 快速闪烁缓入或缓出 | UI提示或警告效果 | |
Shake | 随机震动(需设置强度、频率等) | 相机抖动、物体震动 | |
自定义 | AnimationCurve | 使用Unity的AnimationCurve 自定义任意曲线 | 需要完全自定义的运动 |
EaseFunction | 通过代码传入自定义函数 | 复杂数学曲线或特殊算法 |
9.2 使用示例
transform.DOMove(new Vector3(10,10,10),3f).SetEase(Ease.OutBack);
transform.DOMove(new Vector3(10,10,10),3f).SetEase(Ease.InSine);
10.动画回调函数
说明:动画回调函数类似于Unity的生命周期函数,它允许你在动画的生命周期内执行一些代码。
回调函数名 | 解释 | 示例 |
---|---|---|
.OnStart(Action onStart) | 在动画开始时执行的回调 | tween.OnStart(() => Debug.Log("动画开始")); |
.OnPlay(Action onPlay) | 在动画播放时执行的回调 | tween.OnPlay(() => Debug.Log("动画播放")); |
.OnUpdate(Action onUpdate) | 在每一帧更新时执行的回调 | tween.OnUpdate(() => Debug.Log("动画更新")); |
.OnComplete(Action onComplete) | 在动画完成时执行的回调 | tween.OnComplete(() => Debug.Log("动画完成")); |
.OnKill(Action onKill) | 在动画被杀死时执行的回调 | tween.OnKill(() => Debug.Log("动画被杀死")); |
11.Set相关函数
函数名 | 解释 | 示例 |
---|---|---|
.SetDelay(float delay) | 设置动画开始前的延迟时间(以秒为单位) | tween.SetDelay(1f); // 延迟1秒后开始 |
.SetEase(Ease easeType) | 设置动画的曲线类型(如线性、加速、减速等,类似设置PPT动画的出现效果)。 | tween.SetEase(Ease.InOutQuad); // 使用 InOutQuad 缓动 |
.SetLoops(int loops, LoopType loopType) | 设置动画的循环次数和循环类型(如循环、反向循环等)。 | tween.SetLoops(3, LoopType.Yoyo); // 循环3次,反向循环 |
.SetAutoKill(bool autoKill) | 设置动画完成后是否自动销毁。 | tween.SetAutoKill(false); // 动画完成后不自动销毁 |
.SetId(object id) | 设置动画的 ID,以便后续查找和管理。 | tween.SetId("myTween"); // 设置 ID 为 "myTween" |
.SetUpdate(bool isIndependent): | 设置动画是否独立于时间更新(用于在时间暂停时仍然更新)。 | tween.SetUpdate(true); // 在时间暂停时仍然更新 |
12.查阅官方文档
除了上述的内容,你还可以查阅DOTween的官方文档,里面提供了插件所包含的全部API
文档连接: DOTween - Documentation
相关文章:
【Unity】DOTween的常用函数解释
DOTween插件常用函数解释 1.DOTween.To(通用变化动画) 解释:将某一个值在一定的时间内变化到另一个值(通用的函数),可用于大部分的动画变化 使用示例: using UnityEngine; using DG.Tweenin…...
飞桨paddle import fluid报错【已解决】
跟着飞桨的安装指南安装了paddle之后 pip install paddlepaddle有一个验证: import paddle.fluid as fluid fluid.install check.run check()报错情况如下,但是我在pip list中,确实看到了paddle安装上了 我import paddle别的包,…...
ELK简介和docker版安装
使用场景 主要还是给开发人员“打捞日志”用的。 ELK 是由三个开源工具组成的套件(Elasticsearch、Logstash 和 Kibana),主要用于日志的收集、分析和可视化。以下是 ELK 常见的使用场景: 日志集中化管理 收集来自多个服务器或服…...
DockerHub被封禁,怎么将镜像传到国内?一种简单合规的镜像同步到国内方案[最佳实践]
Docker将容器化技术普及,推动云计算向云原生的演进。Docker的核心创新技术之一是容器镜像,它是一种文件的打包方式,将应用程序运行的操作系统、库、运行环境等依赖全部打包一起。在其他任意环境,只要可以运行docker服务࿰…...
飞桨paddle ‘ParallelEnv‘ object has no attribute ‘_device_id‘【已解决】
书借上回,自从我反复重装paddle之后,我发现了,只要pip list中有库,但是代码报错,那就是飞桨没把代码更新完全,只能自己去改源代码 我又遇到报错了: 根据报错信息,找到ParallelEnv报…...
网络安全面试题(一)
文章目录 一、基础概念与模型1. 什么是通信协议?列举三种常见的网络通信模型?2. 解释OSI七层模型及各层功能3. TCP/IP四层模型与OSI模型的对应关系是什么?4. 五层协议体系结构与TCP/IP模型的区别?5. 什么是面向连接与非面向连接的服务&…...
【Leetcode 每日一题】3355. 零数组变换 I
问题背景 给定一个长度为 n n n 的整数数组 n u m s nums nums 和一个二维数组 q u e r i e s queries queries,其中 q u e r i e s [ i ] [ l i , r i ] queries[i] [l_i, r_i] queries[i][li,ri]。 对于每个查询 q u e r i e s [ i ] queries[i] quer…...
RK3588 ArmNN CPU/GPU ResNet50 FP32/FP16/INT8 推理测试
RK3588 ArmNN CPU/GPU ResNet50 FP32/FP16/INT8 推理测试 **背景与目标** 一.性能数据【INT8模型在CPU上推理的结果已经不对,暂未分析原因】二.操作步骤2.1 在x86-Linux上生成onnx模型,以及tflite量化模型(避免在RK3588上安装过多依赖)2.1.1 创建容器2.1.2 安装依赖2.1.3 下载推…...
力扣第5题:最长回文子串(动态规划)
小学生一枚,自学信奥中,没参加培训机构,所以命名不规范、代码不优美是在所难免的,欢迎指正。 标签: 字符串、动态规划、中心扩散法 语言: C 题目: 给你一个字符串s,找到s中最长的…...
HCIP实验五
一、实验拓扑图: 二、实验需求分析: 1. PreVal策略:要求确保R4通过R2到达192.168.10.0/24 ,需在R4上针对去往该网段路由配置PreVal策略,为经R2的路径赋予更高优先值,影响本地路由表选路。 2. AS Path策略…...
python Numpy-数组
目录 Numpy: 一、Ndarray 1 定义 2 数组的属性方法 2.1 数组的维度:np.ndarray.shape 2.2 元素的类型:np.ndarray.dtype 2.3 数组元素的个数:np.ndarray.size 2.4 转置 3 ndarray 所存储元素的数据类型 4 数组创建 4.1 a…...
数据库分库分表从理论到实战
1.分库分表基础理论 1.1 分库分表基本概念 定义:分库分表是一种将单一数据库中的数据分散存储到多个数据库或表中的技术方案,其核心思想是通过"分而治之"的方式解决数据库性能瓶颈问题。分库:将表按业务或数据量拆分到不同数据库中…...
Java异常处理与File类终极指南
Java异常处理与File类终极指南 目录 异常体系全维度拆解异常处理十五种高阶模式自定义异常企业级实践File类深度探索与NIO进化论分布式系统异常处理架构性能调优与安全防护全网最全异常代码库一、异常体系全维度拆解 1.1 Java异常DNA解析 // 异常类的核心继承关系 public cla…...
pmap中的mode列,脏页,写时复制
写时复制(Copy-on-Write,简称 COW) 是一种计算机编程中的优化技术,主要用于内存或存储资源的管理。其核心思想是:只有在真正需要修改数据时,才会执行实际的复制操作,从而避免不必要的资源开销。…...
通过COM获取正在运行的Excel实例并关闭 c#实现
利用COM对象模型获取正在运行的Excel实例并关闭。示例代码如下: using Excel Microsoft.Office.Interop.Excel; using System.Runtime.InteropServices; try { Excel.Application excelApp (Excel.Application)Marshal.GetActiveObject("Excel.Applicatio…...
运行在华为云kubernetes应用接入APM服务
1 APM概述 在云时代微服务架构下应用日益丰富,纷杂的应用异常问题接踵而来。应用运维面临巨大挑战: 分布式应用关系错综复杂,应用性能问题分析定位困难,应用运维面临如何保障应用正常、快速完成问题定位、迅速找到性能瓶颈的挑战…...
虚幻引擎5-Unreal Engine笔记之摄像头camera
虚幻引擎5-Unreal Engine笔记之摄像头camera code review! 目录 第一部分:摄像头的基础概念 1.1 UE5 中摄像头的定义与作用1.2 UE5 中摄像头的类型与分类 第二部分:摄像头的代码结构与分类 2.1 摄像头是类还是组件?2.2 组件的本质ÿ…...
mysql的基础命令
1.SQL的基本概念 SQL 是用于管理和操作关系型数据库的标准编程语言。是所有关系型数据库(如 MySQL、PostgreSQL、Oracle 等)的通用语言。 SQL语句分类 DDL: Data Defination Language 数据定义语言 CREATE,DROP,ALTER DML: Da…...
去中心化算力池:基于IPFS+智能合约的跨校GPU资源共享平台设计
点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 一、问题背景:高校算力孤岛的困境 现状痛点 各高校GPU集群利用率差异显著&…...
数据库(二):ORM技术
什么是 ORM? ORM(Object-Relational Mapping) 是一种用于实现 对象模型(面向对象)与关系模型(数据库)之间映射的技术,使程序员可以通过操作对象的方式访问数据库数据,而无…...
Oracle基础知识
目录 1.别名的使用 2.AND的优先级高于OR 3.where后面可以接别名,order by后面不可以 4.Oracle中SQL的执行顺序(重点) 5.dual万用表 6.是否区分大小写 7.Oracle常用数据类型 8.Oracle常用函数 (1)length字符、lengthb字节和cast强制类型转换 (2)数据类型转…...
使用 vite-plugin-dynamic-base 实现运行时动态设置上下文路径
我们一般会在编译之前设置上下文,那么如何在编译之后动态设置上下文的路径? 本文使用的技术栈是 Go(Gin) Vue.js(Vite) 本文使用到的第三方包:https://github.com/chenxch/vite-plugin-dynam…...
spark-shuffle 类型及其对比
1. Hash Shuffle 原理:将数据按照分区键进行哈希计算,将相同哈希值的数据发送到同一个Reducer中。特点:实现简单,适用于数据分布均匀的场景。但在数据分布不均匀时,容易导致某些Reducer处理的数据量过大,产…...
力扣-快乐数
1.题目要求 2.题目链接 202. 快乐数 - 力扣(LeetCode) 3.题目分析 首先,因为需要频繁地用到数字变为各个位上的平方的过程,我们可以将"对于一个正整数,每一次将该数替换为它每个位置的数字的平方和"这一操作抽象出来,定义成一个…...
每日算法刷题Day10 5.19:leetcode不定长滑动窗口求最长/最大4道题,结束定长滑动窗口,用时1h
不定长滑动窗口 不定长滑动窗口主要分为三类:求最长子数组,求最短子数组,以及求子数组个数。 注:滑动窗口相当于在维护一个队列。右指针的移动可以视作入队,左指针的移动可以视作出队。 滑动窗口【基础算法精讲 03】…...
FreeSWITCH 纯内网配置
纯内网,且同一个网段,Fs 可简化配置,要点是: 1. 不需要事先配置 directory,任意号码都可以注册,且无挑战 2. 呼叫无挑战 不需要考虑那么多安全问题 配置如下: 1. 全局变量 <X-PRE-PROCESS cmd"…...
STL中list的模拟
这里写目录标题 list 的节点 —— ListNodelist 的 “导览员” —— ListIteratorlist 的核心 —— list 类构造函数迭代器相关操作容量相关操作 结尾 在 C 的 STL(标准模板库)中,list 是一个十分重要的容器,它就像一个灵活的弹簧…...
【iOS】类结构分析
前言 之前我们已经探索得出对象的本质就是一个带有isa指针的结构体,这篇文章来分析一下类的结构以及类的底层原理。 类的本质 类的本质 我们在main函数中写入以上代码,然后利用clang对其进行反编译,可以得到c文件 可以看到底层使用Class接…...
Android 万能AI证件照 v1.3.2
在日常的生活和工作场景里,证件照的身影随处可见。找工作投简历时,它是展现你形象的 “第一张名片”;办理各类证件,缺了它可不行;参加各种考试报名,同样需要它。可以说,证件照虽小,却…...
【Java】封装在 Java 中是怎样实现的?
包 关于包有两个关键字 package : 声明当前类属于哪个包 和 import : 允许当前类使用其他类或接口时不使用全限定名 , 也就是导包 . IDEA 的普通项目文件包括 src : 包含源码和资源文件 和 out : 包含编译产物字节码文件 . 在 IDEA 开发环境建包会在 src 源码目录中生成 , 可…...
牛客网 NC14736 双拆分数字串 题解
牛客网 NC14736 双拆分数字串 题解 题目分析 解题思路 通过分析,我们可以发现: 当n≤3时,无法构造出双拆分数字串,因为数字位数太少对于n>3的情况,我们可以构造两种特殊形式: 当n为奇数时,…...
超长文本注意力机制如何突破传统 O(n²) 瓶颈
介绍了当前在超长文本(可达百万级及以上 Token)生成与预测中,注意力机制如何突破传统 O(n) 瓶颈,并阐释多种高效注意力算法如何支持 超长上下文处理能力。 概览 当前主流 Transformer 在处理长序列时,由于每个 Token…...
异丙肌苷市场:现状、挑战与未来展望
摘要 本文聚焦异丙肌苷市场,深入分析了其市场规模与增长趋势、应用价值与市场驱动因素、面临的挑战以及竞争格局。异丙肌苷作为一种具有重要应用价值的改性核苷衍生物,在药物研发和治疗领域展现出潜力,但市场发展也面临诸多挑战。文章最后为…...
JAVA面向对象——对象和类的基本语法
JAVA面向对象——对象和类的基本语法 一、面向对象编程基础 1. 程序中的数据存储方式 基本类型:变量(如 int max 15;)。数据结构:数组(一维/二维)、对象(特殊数据结构,用于存储复…...
【windows】音视频处理工具-FFmpeg(合并/分离)
一、FFmpeg介绍 FFmpeg是一个开源的跨平台音视频处理框架。 法国计算机程序员 Fabrice Bellard 于 2000 年创建。 “FF”(代表 “Fast Forward”,快进之意)与 “mpeg”(流行的视频压缩标准 MPEG,即运动图像专家组&am…...
Java并发编程:从基础到高级实战
在现代软件开发中,并发编程已成为不可或缺的核心技能。随着多核处理器的普及和分布式系统的发展,能否编写高效、线程安全的并发程序直接决定了应用程序的性能和可靠性。Java作为一门成熟的企业级编程语言,提供了丰富的并发编程工具和API&…...
在 Excel 中使用东方仙盟软件————仙盟创梦IDE
安装插件 用仙盟创梦编写插件代码 源码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ExcelDna.Integration;namespace 东方仙盟.仙盟创梦IDE_招标系统 {public static class 仙盟创梦_招标专…...
win7无线网络名称显示为编码,连接对应网络不方便【解决办法】
使用多个网络时可能需要切换到打印机的网络来打印东西,但是win7的编码问题导致不知道哪个网络是对应网络,可以使用批处理命令来自动连接道指定网络 将这个代码用文本文件打开后粘贴,然后另存为ansi格式的bat文件 代码中使用两种方式进行连接…...
.NET 10 - 尝试一下Minimal Api的Validation新特性
1.简单介绍 2025年11月微软将会发布.NET10,这是LTS(Long Term Support)版本。当前.NET10已经处于Preview4版本,微软对Runtime, Library, SDK, C#, Asp.NET Core, MAUI等都做了很多enhancement。近些年微软对Minimal Api一直在持续地更新。在.NET8中, Mi…...
C# Task 与 SynchronizationContext
示例代码 using System; using System.Collections.Concurrent; using System.Threading; using System.Threading.Tasks;namespace Test {internal class Program{static void Main(string[] args){_mainThreadSynchronizationContext new ThreadSynchronizationContext(&qu…...
iOS Runtime与RunLoop的对比和使用
Runtime 机制 核心概念 Objective-C 的动态特性:Objective-C 是一门动态语言,很多工作都是在运行时而非编译时决定的消息传递机制:方法调用实际上是发送消息 objc_msgSend(receiver, selector, ...)方法决议机制:动态方法解析、…...
JavaSenderMail发送邮件(QQ及OFFICE365)
前言 这是今天处理的公司安排的一个任务:客户系统发送offices365邮件报错535 之前没怎么解除邮件业务,于是先搭个简单的QQ邮件Demo熟悉一下吧,没有啥公网内网的麻烦(之前听说有内网限制,我还处理了一些环境上的问题&…...
八股文--JVM(2)
⭐️⭐️6.类加载 类加载器 JVM只会运行二进制文件,类加载器的作用就是将字节码加载到JVM中,从而让程序启动 1.启动类加载器 ----JAVA_HOME/jre/libC编写加载的是JAVA_HOME/jre/lib 2.拓展类加载器 ----JAVA_HOME/jre/lib/ext 3.应用类加载器 ----C…...
【HTML-3】HTML 中的水平线与换行:基础元素详解
在网页设计中,合理的布局和内容分隔对于提升用户体验至关重要。HTML 提供了两个简单但强大的元素来实现这些功能:水平线 (<hr>) 和换行 (<br>)。本文将深入探讨这两个元素的用法、最佳实践以及现代替代方案。 1. 水平线 <hr> 元素 1…...
绿色云计算:数字化转型与可持续发展的完美融合
目录 引言 绿色云计算的概念与定义 云计算的环境影响与绿色云计算的重要性 绿色云计算的技术实践与策略 绿色云计算的案例研究与最佳实践 绿色云计算的挑战与限制 绿色云计算的未来趋势与预测 结论与展望 引言 随着云计算技术的迅猛发展和广泛应用,其环境影…...
AMO——下层RL与上层模仿相结合的自适应运动优化:让人形行走操作(loco-manipulation)兼顾可行性和动力学约束
前言 自从去年24年Q4,我司侧重具身智能的场景落地与定制开发之后 去年Q4,每个月都会进来新的具身需求今年Q1,则每周都会进来新的具身需求Q2的本月起,一周不止一个需求 特别是本周,几乎每天都有国企、名企通过我司找到…...
大模型——多模态检索的RAG系统架构设计
文章目录 1. 系统架构设计核心组件 2. 跨模态向量空间对齐方案方法一:预训练对齐模型(如CLIP)方法二:跨模态投影网络方法三:联合微调 3. 混合检索策略4. 关键问题解决Q: 如何解决模态间向量尺度不一致?Q: 如…...
BUUCTF——Kookie
BUUCTF——Kookie 进入靶场 一个登录页面 左上角提示让以admin身份登录 找到了cookie 应该与cookie相关 测试了一下admin admin没登上 We found the account cookie / monster 回头看了一下 这个是不是账号密码 测试一下 成功登入 但是没有flag 应该还是跟cookie相关 …...
代码随想录算法训练营
力扣684.冗余连接【medium】 力扣.冗余连接Ⅱ【hard】 一、力扣684.冗余连接【medium】 题目链接:力扣684.冗余连接 left x300 视频链接:代码随想录 题解链接:灵茶山艾府 1、思路 可以从前向后遍历每一条边(因为优先让前面的边连上…...
服务器磁盘不同格式挂载区别
在Linux系统中,磁盘不同格式挂载的核心区别主要体现在文件系统类型和挂载方式两个方面,以下为具体差异分析: 一、文件系统类型区别 磁盘格式即文件系统类型的选择直接影响挂载后的性能和功能: 常见文件系统比较 e…...