自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 实现各平台确定性的物理碰撞

2.再moba帧同步游戏中,15帧的固定调用差不多是网络那边的极限了,采用其他手段如平滑显示来提高画面的平滑度。找速度方向与边缘法线的夹角最大值,如角3和4,4更大,所以是看v方向和a法线的夹角,计算投影大小。1.物理运算,比如刚体运动系统的运算是通过固定的时间来驱动的。,如图中b法线,判断角2和角5的大小,如果5>2,说明满足回弹条件,需要回弹。回弹条件:速度方向在角aoc之外,需要反弹。1.什么时候要回弹?怎么判断回弹的角度?

2024-07-04 20:41:34 194

原创 算法总结-栈和队列

1.栈实现队列思路:两个栈实现,一个出一个进。pop() 把sin的元素出栈赋值给sout,赋值完后sout pop的第一个就是队头元素peek() 直接调用上述实现的pop函数思路:单个队列实现。pop:把队列的头元素依次插入到队尾,除了最后一个(这个元素是要pop出去的)。top:直接调用队列的back方法思路:用栈来实现,遍历s对于每一个左括号,栈里push进一个相应的右括号。两种失败情况,如果栈的top和s[i]相等就返回true。

2024-06-28 16:52:09 372 1

原创 vs下载KCP失败

项目名称不要直接使用KCP。

2024-06-21 17:11:52 82

原创 Unity网络开发基础-随记

可以通过该类来下载和上传一些数据,主要配合http,ftp,本地加载这三种一起使用。实现一个计时,系统时间减去上一次收到心跳消息的时间大于多少就算客户端已经断开连接了。定义一个规则,前面四个字节表示ID,根据ID来区分不同的消息类型。8.导入定义(使用另一个文件或者同文件的Protobuf文件)通用的转换(就是翻转字节数组)用的比较多(支持的类型多)。....下面就是把服务器的资源写入到创建的空资源中去。PlayerMsg数据类 继承了BaseMgs类。将生成的cs文件导入unity中,在任意脚本引用。

2024-06-07 23:17:52 924

原创 unity随记--Addressables

都是异步加载 第一个资源标识类需要自己传入要加载的泛型 函数返回值是一个委托类型。注意第三个参数 有合并和相交 看需求加载哪一种或几种资源。多个信息加载多个资源 即根据名字和标签来加载。1.加载资源 释放资源。匿名方法直接在参数里。

2024-06-07 20:13:35 120

原创 二进制持久化

1.字符串和其他类型转字节类型 BitConverter和Encoding。2. 补充 打开并读取Excel表的具体信息。3.序列化为二进制 和反序列化二进制。3.对一个类的序列化和反序列化。//根据文件流读取Excel表。1.Unity添加菜单按钮。流的索引 index。

2024-06-07 20:13:09 182

原创 算法总结--双指针法

然后对三个数分别去重,left和right去重时机:要在满足条件放入结果集里面之后。双指针法,只要得到剩余的不同val的数量,优化写就是当left对应的值等于val时候,把right-1的值丢给left,继续比较。多了一层循环,注意去重和剪枝(区别于三个数等于0,这里是四个数等于一个目标数)。oldsize和newsize指针,从后向前找(避免频繁移动元素)当前指针等于tmp(当前指针++)cur->next指向前置指针。两个指针 当前指针和前置指针。翻转方法和标准化空格方法。当前指针赋值给前置指针。

2024-06-05 15:57:26 253

原创 算法总结--字符串篇

思路:两个字符串大小: 一个原始大小 ,一个是计算后的大小, for从后往前循环遍历 ,遇到字符的 ,直接放到新串上 ,遇到数字。因为从前向后填充就是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素整体向后移动。双指针,一个左一个右,左边开找,等于目标值,就把右边的元素赋值过来,右指针--。快慢指针 for循环里快指针++, 值不等于目标值时,赋值,慢指针++这里判断了左指针是否满足条件,在赋值给左指针的时候也判断了右指针。reverse函数:区别于原始的传两个迭代器,这里传三个参数。

2024-05-26 11:02:17 375

原创 随记 Unity-ScriptObject

将一些只用不变的数据用SO容器装载 作为一个数据文件 其他类对象要使用这个数据文件只需声明这个数据文件对象 然后再inspector面板中挂载。原始情况是n个对象都挂载了脚本 数据就会创建n多个 而这n多个有些是共享的且不变的。这样就实现了资源的复用。最后一种情况一般不用 都是要基于Json、二进制来的 画蛇添足了有点。创建一个基类继承SO 子类对象的操作就是多态数据的操作了。(泛型声明) 其中的instance是。3.使用SO和SO的生命周期函数。7.单例模式获取数据。直接加载SO数据对象。

2024-05-23 16:43:56 263 1

原创 算法总结-哈希表

需要返回下标 用map来实现 只要一个for循环 unordered_map.find如果找到,则返回一个指向该元素的迭代器 可以用箭头来访问key和value 符合条件直接返回一个{ }这里用到了set 两个set 一个存结果(这里也用set的原因是因为要用set来去重) 一个来判断。双指针法,三个"指针" for循环的i left=i+1 right=size()-1。然后三个数的和 与 0 的关系 改变left和right的值 趋向0。开始要对i进行剪枝 就是判断第一个元素和是否重复。

2024-05-20 15:13:01 305 1

原创 算法总结-链表篇

两个节点 一个前一个后 修改后的next指向前 注意顺序 先翻转再更新。虚拟头节点 方便删除 判断cur->next是否为空。fast先往前移动n单位 然后两个指针遍历到最后。开始要存储虚拟头节点下的第一个节点和第三个节点。就是交换相邻的两个节点 分三个步骤。两个指针中间就是要删除的节点。

2024-05-19 11:30:19 249 1

原创 Unity性能优化(UGUI篇)

Overdraw(超绘)是指在渲染过程中绘制了超过一次相同像素的现象。当多个UI元素重叠时,每个像素都需要被多次绘制。这种绘制超出了渲染所需的最小像素数,因此被称为Overdraw。比如我们只需要看到1就可以了,但是1是一个半透明物体,如果234都是半透明的,是能看到5的,1234都需要被绘制,不能进行遮挡剔除了。2. 打图集 把一个面板的UI资源放到一个图集里面。背景大图不要和小图放在一个图集(比如只要记载一张小图,会把大图也加载出来)Overdraw优化。优化Overdraw。

2024-05-11 23:38:33 170 1

原创 算法总结-数组篇

二分查找思路就是双指针法删除元素 滑动窗口模拟行为。

2024-04-26 11:37:08 108 1

原创 Unity的一些随记

设置Unity的默认图层排序 修改TileRenderer的渲染模式为Individual。打包图集用来优化性能,降低DrawCall(设置一个目标四元数,Slerp方法。

2024-04-01 22:36:54 306

原创 游戏的存档和读档和一些注意点

刚体对于系统的开销是很大的,所以在使用刚体时,根据可能发生的碰撞触发事件,适当的减少刚体,是一个减少资源消耗的好办法。比如地面就可以不设置刚体,因为地面是永远不动的,把人物设置刚体就可以实现真实的物理碰撞效果了。其中,value表示要限制的值,min表示限制范围的最小值,max表示限制范围的最大值。是Unity中的一个属性,用于获取或设置物体的欧拉角(Euler Angles)。欧拉角是一种表示物体旋转的方式,通过三个角度(分别对应x、y、z轴)来描述物体的旋转状态。第二 则是一些简单的数据。

2024-01-28 16:37:18 672

原创 贪心算法的一些题目总结

遍历数组对5和10进行加减 在20的时候。贪心 先按身高从大到小排序 再按k值插入。贪心 10和5优先 全是5最后。406.根据身高重建队列。

2024-01-25 17:09:58 333

原创 Unity 塔防笔记

这里旋转要注意坦克的头部和坦克本身的中心点是否一致,不一致就导致不能实现预期效果,需要在坦克上建一个空物体 再把坦克头部放到空物体里面(这里还要注意保持这个空物体的Z轴即坦克头部子弹方向和坦克头部一致。引擎中的一个方法,用于获取游戏玩家在键盘或游戏手柄上输入的某个轴(Axis)的值。这里的 "" 是一个字符串参数,表示要获取的轴的名称。ps:如果要在一个类里面实例化另一个类的多个对象 需要在另一个类上面添加可序列化代码 [System.Serializable]yeild return 0 循环返回。

2023-12-28 23:31:50 1081 1

原创 DoTween渐变动画

1.5代表物体位置和目标位置距离 p 的倍数 即物体运动 p*1.5。十一、路径动画 ....五、Sequence。

2023-12-15 22:48:35 500

原创 常用的一些DoTween动画

加了From后表示从目标位置移动到当前位置。加了true之后表示的是相对位置 原来是0,0 则表示从6->0。DOFade用来设置文字的透明度 最后一行的那个 在3s内从0到1。SetEase函数用来设置动画的特效(进入或者退出)九、可视化的DoTweenAnimation组件。默认执行完后自动销毁该动画,所以需要中间件。五、动画属性的设置(动画曲线和事件函数)本质就是让摄像机的位置随机改变。来设置不自动销毁来保存该动画。二、动画的快捷播放方式。三、动画的前放和倒放。八 颜色和透明度动画。

2023-12-10 23:19:21 510 1

原创 Unity 祖玛游戏

贝塞尔曲线对象池轮子--类协程函数privateDictionary........

2023-12-07 22:29:49 406 1

原创 c#......

Hashtable.Add() Hashtable.remove() Hashtable.contains() Hashtable[键值]=xx;(改的是value值)遍历 键值遍历和值遍历。

2023-09-14 21:37:16 46 1

原创 栈区,堆区/虚函数与动态绑定/函数模板/虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象。

二、struct的默认继承权限和默认访问权限是public,而class的默认继承权限和默认访问权限是private。一、 虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象。

2023-05-09 11:19:13 39

原创 C++第一个完整项目:职工管理系统

代码没错误运行结果却大相径庭,注意看看if,for循环的大括号位置,以及一些输出,赋值代码的位置,有好几个错误都是放在了if,for这些语句的大括号里面,位置放错了。一直刷新不出来目录界面,结果是因为自己忘了用一个循环while(true)并且里面调用show()来实现。实现完一个功能就直接退出程序了,原因居然是case后面没有加上break。还是没搞明白 最后是在newsize上加了4才解决的(百度)

2022-11-06 21:23:36 72

原创 森林和二叉树的转化

二叉还原成树口诀:左孩右右连双亲,去掉原来右孩线 放到一层 树转二叉树口诀:兄弟相连留长子,顺时针转45°

2022-11-05 10:43:16 168

原创 树的存储结构

定义一个结构数组存放树的结点,每个结点包括两个域,一个数据域一个双亲域(指示本结点的双亲结点在数组中的位置)用二叉链表作为树的存储结构,每个结点的两个指针域指向其下一个孩子结点和兄弟结点。//数组个数和根节点所在位置。把每个结点的孩子结点排列起来,形成一个单链表。找双亲容易,找孩子难。

2022-11-04 11:22:45 61

原创 MySQL 存储引擎

MySQL的四个体系结构 连接层(客户端连接,授权,认真,校验权限等操作),内存存放,采用hash(哈希)索引,只有一个文件,xxx.sdi存储表结构信息。,不同的存储引擎它的索引是不同的), 存储层(数据存储在磁盘当中)(核心,sql的解析,优化,跨存储引擎的操作) , 引擎层(以读写和插入操作为主,如电商足迹,日历等 myisam。存储引擎决定数据库当中数据的存储,更新查询的方式。大部分都选innoDB,完整性要求。

2022-10-27 19:56:44 289

原创 Mysql 多表查询,子查询

隐式 select *from 表A,表B where 条件...select * from 表名 a,表名 b where 条件。左外,右外 select *from 表A。(...多行多列) --相当于一张表 a。显式 select *from 表A。表B where 条件...

2022-10-16 16:04:18 102 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除