自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity的脚本运行顺序

前情提要-- 我的小项目碰到一个问题,需要在玩家进入场景的时候让对象B和C获取到A这个对象并且让A这个对象取消激活。 我想当然的就在B、C脚本的start方法里写了: refA = GameObject.Find("A"); 并且在A的start方法里写了: gameObject.SetActive(false); 然鹅问题就出在这里!!! Unity脚本运行顺序 unity加载场景的时候调用脚本是有一定顺序的,有可能我A的start先执行了那这时候A就取消激活了,B和C的sta

2021-10-24 16:19:11 3912

原创 Unity2d开发 - 对象池(Object Pool)

我们知道,在unity中生成和销毁一个游戏的gameobject对象是要消耗一定的资源的,频繁的生成和销毁对象内存会有很大的压力,

2021-10-21 13:23:34 1709

原创 游戏设计模式-单例模式

定义: 单例模式,是指整个程序的生命周期中只会同时存在一个该类的实例化对象,并且会提供一个全局静态方法来访问这个对象。 单例的用处: 举个例子,在游戏开发中常常只有一个player的对象,每当你要在某个类或者函数里面要获取player对象的某个属性来进行数值操作时,你都要记录player的对象再把对象的值获取过来。这样常常很容易出现一些bug,例如重复的实例化对象,获取到的数值不对劲等等。 如果使用单例模式,整个程序周期中只有一个该类对象,在调用时单例模式判断是否有对象并返回对象/创建对象返回。并且

2021-10-14 19:32:24 576

原创 Unity2d开发 - 浮动文本

今天又开新坑了,最近数据结构学腻歪了回到之前在做的一个unity的2d项目上继续完成功能。 今天做的是玩家吃到金币能够有浮动显示的动画效果: 要完成这个效果,首先要创建一个空物体命名为FloatMoney并加上TextMesh组件,输入一小段数字并设置完字体大小等表示效果。 只有text只是不会动的一个数字文本显示,现在做个帧动画: 创建一个动画和动画控制器,在连线的地方吧动画拉进去,并设置为初始值。 录制动画:每过一帧就设置文字的位置稍微上移以及大小的浮动变化,这样看起来会自然.

2021-10-12 23:16:09 993

原创 数据结构算法 - 常用排序算法小结

先一张图整体说明下: 关于算法选择 明显,单纯要快的时候正常是使用快排来排序。在 对空间和速度都有一定要求的时候可以使用堆排序。在解决实际问题需要排序稳定的时候可以使用归并排序。 算法在为了获取更低时间复杂度上要牺牲一定的空间,在为了获得更低的空间复杂度上会牺牲一定的时间,而两者都要的时候就很难做到稳定。因此,算法的选择不是一定的,都是根据题目来选择适合这道题目的算法。或者是通过算法的结合,在大数据部分使用一定算法,当数据在一定量时使用另一个算法。 ...

2021-10-08 17:49:04 44

原创 二叉树 - 判断类型(二)

一、满二叉树(FT - Full Tree) 用树的DP来判断。 对节点统计他左子树、右子树的总数和左右子树的层数。 根据节点数 = pow(2,层数) - 1;来计算 static bool isFullTree(Node head) { if(head == null) { return true; } Info data = Process2(head); return data.nod.

2021-10-06 23:34:07 99

原创 二叉树-判断树类型(一)

一、二叉搜索树(BST - Binary Search Tree) 用中序遍历很容易实现,只要用中序遍历的过程是单调升序就代表是二叉搜索树 非递归: //判断是否为二叉搜索树(binary search tree) //中序遍历 static bool checkBST1(Node head) { if (head == null) return true; Stack<Node> stack

2021-10-05 22:36:44 500

原创 二叉树-计算最长宽度

通过用队列完成二叉树的层次遍历,来计算最长宽度。 实现: 用一个字典/hash表来存二叉树中每个节点所在的层数,然后根据所在层数统计该层的节点个数,再比对每层的宽度大小来确定最长宽度。 代码: static int MaxWidth(Node head) { if(head == null) { return 0; } //队列存二叉树的顺序遍历

2021-10-04 22:17:36 60

原创 二叉树-递归/非递归遍历

二叉树的遍历有先序、中序、后序遍历三种方式。 先:头左右。中:左头右。后:左右头 一、递归遍历 1)先序遍历 static void PreOrderRecur(Node head) { if(head == null) { return; } Console.WriteLine("Node:"+head.value); PreOrderRecur(head.left);

2021-10-03 22:44:56 53

原创 链表-判断相交

链表相交 今天是链表的比较难的一个算法,判断两个链表第一个相交的位置在哪,如果有相交返回相交的那个节点;如果没有相交则返回空。 首先,我们要把判断分成几个情况。 一、有环和无环 显然,有环和无环两种情况,对链表判断相交与否肯定有影响。如果有环就返回环的入口,如果没环就返空。那么我们要先判断两个链表是否有环。要判断有环和无环我们依旧可以使用快慢指针。 让快指针和慢指针一起走,如果快指针能走到null,那么显然没有环,如果快指针和慢指针最终相遇了。 复杂的算法证明:当慢指针走到环的入口是,慢指针走了

2021-10-02 23:57:13 230

原创 链表-判断回文

记录一下适用于不同情况的解法 笔试-简单的算法(简单快就行 不要那么注意空间) 解决方法1---直接用栈存 把链表存到栈里面,然后同时比较链表和栈弹出来的数,存在不同的就返回false,走到最后就返回true 代码: static bool IsPlalindrome1(Node head) { Stack<Node> stack = new Stack<Node>();

2021-10-02 00:02:40 62

原创 链表-快慢指针

链表题能用到快慢指针的一般是两种题目:yi/ 一、判断链表是否存在环结构 要判断是否存在环结构,那么我们就定义一个组快慢指针,让快指针一次动两步而慢指针一次动一步。如果在两个指针动的过程中,快指针指向了null,那么就表示这个链表没有环。如果两个指针在某一时刻是相等的,那么则表示该链表存在环结构。 代码实现如下: static bool HasCycle(Node head) { if(head == null || head.next ==

2021-09-30 23:34:39 124

原创 桶排序-(BucketSort)

所谓桶排序: 是先创造一个长度为10的count数组,来存放数组元素。首先,计算出数组最大数的最高位的位数记作Digit。从个位也就是右数第一位开始,把数组从左往右依次遍历。根据右数第一位的数字把元素放在不同的桶里。 int[] a = new int[] {13,24, 16, 29, 16, 50, 20, 53, 32, 71}; 上面这个数组在digit = 1的情况则是把元素依次放在3,4,6,9,6,0,0,3,2,1号桶中,并让那个桶的count[桶号]++,放入桶的操作实际上就是.

2021-09-29 22:50:22 154

原创 数据结构与算法-快排和堆排

一、快排(QuickSort) 原始的快排是通过在数组中进行一次Partition操作:取最后一个数作为基准,将小于等于这个基准的数放在数组的左边,大于这个基准的放在右边。 如:int[] a= new int {2,5,6,1,3} 怎么操作 达到分类效果呢? 定义两个变量less,more表示小于等于基准数区间的右边界,大于基准数的区间的左边界。初始化时 让less指向要Partition的数组的最左端-1表示还没有小于等与基准值的数。让more 指向要Partition的数组的最右端...

2021-09-29 00:09:58 205

原创 数据结构与算法 - 归并排序

归并排序(Merge-Sort) 归并排序是以分而治之的思想,将数据分开、分别比较两边的值,并用一个辅助的数组去存储比较后的结果。 代码是用递归来实现,将一段数组切分为两段,再对两段进行Merge操作。 class Test{ static void Main(string[] args) { int[] a = new int[] { 3, 2, 1, 5, 4, 2 }; Sort(a, 0, a.Length - 1); fore

2021-09-27 23:14:20 85

原创 自我监督day1

今天开始尝试写一写博客了,希望能为以后自己回过头来学习提供帮助,并且监督自己学习! 今天第一天,就先试试水以后每天都发一篇。

2021-09-27 22:28:58 45

空空如也

空空如也

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

TA关注的人

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