- 博客(26)
- 收藏
- 关注
原创 Unity编辑器扩展 - IMGUI
IMGUI(也称“即时模式”GUI 系统)是一个完成独立功能系统,不同于Unity基于游戏对象的主UI系统。IMGUI是一个代码驱动的GUI系统,主要用作于程序员的工具,为了驱动改系统,需在实现脚本时调用OnGUI函数。IMGUI主要的四个API就是GUI、GUILayout、EditorGUI、EditorGUILayout了,这是最基本的知识点,其实平常可以使用Unity编辑器时想着自己去扩展应该如何操作,Unity内部的组件基本上都可以自己自定义的拓展。
2023-07-30 18:09:33
1771
原创 Unity编辑器扩展 - 概述
不管是TA、主程还是工具开发者都需要一定的编辑器扩展开发的基础,能够在开发的时候更便利地使用编辑器,例如快速选取Hiearchy窗口的GameObejct等等。MenuItem属性主要向主菜单和检视面板上下文菜单添加菜单项。MenuItem属性能将任何静态函数转变为菜单命令,注意:仅静态函数才能使用MenuItem属性。
2023-07-30 01:51:07
477
原创 代码心得(规范代码)
程序员在每一个不同项目都会创建多个代码库,这些代码库可以在多个项目中使用,一个好的程序员必须学会储备自己的代码库,当需要时,可以将这些代码放在当前的项目中,这些代码库中的方法多半是静态方法。例如某个模块的工具类如Helper类,Utils类等.对于一些应用程序中多次需要用到的功能,可以将这些功能封装成静态方法,放在一个类中,这个类就是工具类,这些工具类的集合也就是代码库
2023-07-17 00:11:02
206
原创 Git版本控制工具
Git: 一个开源的分布式版本控制系统,可以有效、高速地处理有小到非常大地项目版本管理.工作区:仓库的目录,工作区是独立于各个分支的.暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区,暂存区也是独立于各个分支的.版本库:存放所有提交到本地仓库的代码版本版本结构: 树结构,树中的每个节点代表一个代码版本.
2023-06-22 19:26:04
187
原创 Unity雷达图制作
MaskableGraphic:UGUI的核心组件,它继承自Graphic.MashableGraphic是一个抽象类,它的派生类有RawImage,Image, Text,顾名思义,MaskableGraphic是可遮罩的图像.VertexHelper :VertexHelper是UI绘制的一个帮助类,绘制之前需要先调用vh.Clear(),将原有的网格UI清空.
2023-06-17 18:14:05
416
1
原创 ssh远程登录
安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议.SSH是建立在应用层基础上的安全协议,SSH是较可靠,专业为远程登录会话和其他网络服务提供安全性的协议.利用SSH协议可以有效防止远程管理过程中的信息泄露问题.
2023-06-13 00:22:45
3154
原创 Shell语法
shell是用C语言编写的程序,是用户通过命令行和操作系统沟通的语言,shell既是一中命令语言,也是一种程序设计语言.简述来说,shell脚本可以直接在命令行执行,即shell在终端的命令行中逐行执行.shell脚本也可以将一套的逻辑放到文件中,直接执行该文件,方便复用.
2023-06-10 21:42:28
311
原创 tmux和vim
tmux是一个终端复用器(terminal multiplexer),指终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件 .Linux的vim是由vi发展出来的一个强大的文本编译器,它有多种模式,可以进行高效的文本操作和编程.
2023-06-04 17:33:21
299
原创 游戏中的MVC框架
MVC框架是一种设计模式,在游戏中一般用于UI模块,它将UI模块分为三个部分:模型(Model也就是数据),视图(View也就是UI界面),控制器(Controller).模型用于负责管理数据与逻辑,视图负责用户的界面,控制器负责处理用户输入和协调模型和视图。
2023-06-04 00:41:15
1413
原创 linux的文件属性和常用命令
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限,为了保护系统的安全性,Linux系统对不同的用户访问有着不同的规定.每个文件都由10个字符来确定第0位确定文件的类型,一共有5个字符。
2023-05-31 23:36:34
783
原创 初识Linux
Linux全称GNU/Linux,是一种免费使用和自由传播的操作系统,主要是一个基于的、支持和的操作系统,支持32位和64位硬件,能运行主要的工具软件、应用程序和Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
2023-05-30 00:02:22
119
原创 高精度运算(加减乘除)
高精度算法:是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数,高精度算法是用计算机对于超大数据的一种模拟加,减,乘,除,乘方,阶乘,开方等运算。对于非常庞大的数字无法在计算机中正常存储,于是,将这个数字拆开,拆成一位一位的,或者是四位四位的存储到一个数组中, 用一个数组去表示一个数字,这样这个数字就被称为是高精度数。高精度算法就是能处理高精度数各种运算的算法。...
2022-07-25 14:59:37
572
原创 Unity学习笔记 —— 初识Unity
Unity是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。Unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备简单来说:Unity是一个用于轻松创建游戏和三维互动的开放工具,是一个专业的游戏引擎,在如今,常用的引擎是Cocos-2D引擎用于开发2D游戏,Unity引擎以及UE4引擎用于开发3D游戏
2022-04-17 11:28:00
2573
1
原创 最小生成树(Prim算法、Kruskal算法)
本篇博客讲的是最小生成树问题,与最短路不同,最小生成树要经过每一个点,形成一条链路。本次要说的是Prim算法(普里姆算法) 和 kruskal算法(克鲁斯卡尔算法),两者都是求最小生成树最小生成树什么?(1)定义最小生成树: 一个有n个结点的连通图的生成树是原图的最小连通图,且包含原图的所有n个结点,并且保持图的连通的最少的边。最小生成树可以用:Prim算法和kruskal算法求出
2022-04-04 11:04:12
1363
原创 图论 ——五种最短路算法
文章目录前言 一、最短路是什么? 二、朴素Dijkstra算法 三、堆优化版Dijkstra算法 四、Bellman-Ford算法 五、Spfa算法 六、Floyd算法 总结前言本篇文章讲的是图论里的最短路问题,如果你还没有图论的基础知识,可以看看我之前的文章:DFS(深度优先算法)BFS(广度优先算法)邻接表和邻接矩阵、树的遍历 (DFS和BFS)这些都是关于图论的基本知识。一、最短路是什么?最短路径: 从某个点A(位置)到另一个点B(位置)的最..
2022-03-29 13:00:45
10792
6
原创 邻接表和邻接矩阵、树的遍历 (DFS和BFS)
图的储存方式分两种:邻接表和邻接矩阵。 了解邻接矩阵和邻接表之前我们要先学会稠密图、稀疏图。百度百科来说:稠密图、稀疏图。稀疏图:有很少条边或弧(边的条数|E|远小于|V|²)的图称为稀疏图(sparse graph)。稠密图:有很多条边或弧(边的条数|E|接近|V|²) 的图称为稠密图(dense graph)。简单来说:我们假设某个图的点的个数 为 N, 边的个数为 M, 当 M << N ^2(平方)(当边数远小于点的平方)时称为 稀疏图,当 M ≈ N ^ 2 (当边数约
2022-03-23 16:12:35
2910
原创 BFS(广度优先算法)
BFS(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和广度优先搜索类似的思想。属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。简单来说,BFS是一种图搜索的算法,目的是用于搜索检查每一个可以达到的点,直到找到结果为止。他和DFS的区别:DFS是一条路走到黑,如果没用路就返回,而BFS是从上往下层次依序遍历,我
2022-03-23 14:36:40
10822
3
原创 DFS (深度优先算法)
DFS(深度优先搜索算法):一种用于遍历或者树或者图的算法,是一种递归程序,不断递归达到无法在到达的点,简单点来说:一条路一直走,走到没有路后就原路返回,重新选择另一条 dfs(step + 1)。DFS = 暴搜 + 回溯算法 + 剪枝(大多数是这样)。DFS需要回溯算法,其他算法也需要回溯算法,两种是一种调用关系。暴搜:一条路走到黑(直接递归走到底)回溯:DFS开启另一条路则需要回溯,如果暴搜那条路找不到答案就要回溯走另外一条道路。剪枝:如果明确接下来的搜索找不到答案或者不是最优解,就
2022-03-20 13:12:11
4436
2
原创 哈希表与哈希冲突(Hash表 散列表)
哈希表(Hash table 又叫散列表)是能够通过给定的关键字的值直接访问到具体对应的值的一个数据结构。通常,我们把这个关键字称为Key值,对应的值称为Value值。关键值和Value值是一种一一对应的关系(也就是映射关系),这个映射表,也叫做哈希函数,存放记录的数组就是哈希表。哈希表也类似于离散化。哈希表的作用:哈希表的作用就是能够通过Key值快速获取Key对应的Value值,它查询的时间复杂度几乎是O(1)的,
2022-03-15 21:32:23
664
3
原创 堆(手写堆包含STL)
堆是什么,堆就像是一个金字塔,最顶端的是最值(最大值和最小值),堆其实就是一个二叉树,将最值元素放到根节点。子节点要么都小于父节点,要么都大于父节点。但是写手堆的话,我们用的是数组来存储,所以堆通常也被看做一颗树的数组对象。
2022-03-14 14:36:00
2942
6
原创 Tire树(字典树-字符串快速查找)
Tire树又称字典树或前缀树,是一种能够快速查找一组字符串含有一个字符串的类似哈希表的树结构,是以空间换时间,利用字符串的前缀来降低查询时间。
2022-03-12 15:49:31
3670
4
原创 归并排序(分治算法)
分治算法是什么 归并排序的分治算法: 归并排序基本思想: 分治算法:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。归并排序的分治算法:递归子问题 处理子问题 合并子问题归并排序的基本思想:将数组逐一分段,然后进行比较(递归)merge_sort(l , mid);//递归左边 merge_sort(mid + 1, r);//递...
2022-03-09 23:17:27
978
原创 字符串匹配(KMP算法 )
给定一个模式串S,以及一个模板串P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模板串P在模式串S中多次作为子串出现。求出模板串P在模式串S中所有出现的位置的起始下标。输入格式第一行输入整数 N,表示字符串 P 的长度。第二行输入字符串 P。第三行输入整数 M,表示字符串 S 的长度。第四行输入字符串 S。输出格式共一行,输出所有出现位置的起始下标(下标从0开始计数),整数之间用空格隔开。数据范围1≤N≤10e51≤M≤10e6...
2022-03-09 11:04:47
301
原创 分治算法(快速排序)
由于今天上了一天的课没怎么学,所以我就讲讲最近所学的知识吧,最近在AC-wing看算法基础课和剑指Offer。快速排序:题目:给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数nn。第二行包含n个整数,表示整个数列。输出格式输出共一行,包含n个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:...
2022-03-03 20:54:51
1245
原创 第一篇博客:记录一下
从现在开始写博客是因为我想在我简历上添一笔,顺便记录记录我学习的旅程,还有做笔记让我学习记忆深刻。博客的内容就是找工作所需要学到知识点以及内容,希望大家也能多多关注。每天更新。...
2022-03-03 00:09:29
80
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人