前言
我发现我的笔记经常会丢失,所以打算将每天的笔记汇总在一起,一是来可以复习今天学习到的内容,二是方便以后的查找,等等要实践下手速训练,将今天的代码重新再过一遍,第一次的代码可以短点,或者时间短点。
开发2DRoguelike笔记
Food应该放在GameManage中,而不是在player类中,因为放在player中,容易造成player过于臃肿,不过有些情况应该也是可以。例如血条,这里主要是因为Food不仅是血条,也是环境中的东西。
只有一个方法使用到static,该方法调用的所有的方法都必须使用static
检测碰撞时,需要关闭自身的collider,要不会检测到自己的物体先。
代码
collider.enabled = false;
RaycastHit2D hitObj = Physics2D.Lineast(Vector2.lerp(targetPosition,targetPosition + new Vector2(h,v));
123
4. 在Unity中,如果使用了public int i;在类内部设置的值的优先度没有在Inspector的界面高。//
经常犯错
5.[HideInInspector] 隐藏public变量,不显示在Inspector上
6.动画,animator.setTrigger(“name”) ,应该在动画状态机中设置trigger而不是设置trigger
7.C#方法中没有静态变量
小idea
我可以将之前很酷的分形添加到我之前女主拯救男主角的游戏
快排理解
1.一路快排
当程序进行到一部分的时候的时候,一图胜万言
上图一个错误,应该是a[left+1…j]为了让我印象更加深刻我就不改了。
当a[i] >= v 时, i++。
当a[j]
2.二路快排
比一路快排的优点,因为当数组有很多重复的数字的时候,一路快排将数组分成的部分不是均匀的两部分部分,这时通过该过程可以将数组分成两个数组数量差不多。
当程序进行到一部分的时候,一图胜万言
程序从左开始找到第一个不满足小于v的数,如果满足i++,找到即为a[i]
程序从右边开始找到第一个不满足大于v的数,如果满足rj–,找到即为a[rj]
然后判断程序是否结束(i
3.三路过程
因为二路时,重复的v肯定应该排中间,这样就不需要重新排中间的数,直接将v的数字放到合适的位置,剩下的部分在做快排即可
当程序进行到一部分的时候,一图胜万言。
当a[i] == v , i++
当a[i]>v,swap(a[i],a[rj]);i不变,rj–
当a[i]小于v,swap(a[lj+1],a[i])
最后
swap(a[left],a[lj]);