- 博客(20)
- 收藏
- 关注
原创 Unity–小知识
Mathf.MoveTowards方法的功能是返回一个浮点数,其值为current向target靠近的一个值。当在字典中不能确定是否存在该键时需要使用TryGetValue,以减少一次不必要的查找,同时避免了判断Key值是否存在而引发的“在Unity中,四元数被用于表示游戏对象的旋转。Quaternion类提供了许多用于处理旋转的方法,如乘法、插值和创建旋转等。其中,w、x、y和z分别是四元数的四个分量,i、j、k是虚部单位。(四元数)是一种数学表示,用于表示和处理三维空间中的旋转)给定关键字不在字典中。
2024-03-31 13:53:32
968
2
原创 Unity-摄像机跟随并设置摄像机边界-Cinemachine
2.在场景里创建一个空物体,并添加Polygon Collider 2D组件。1.添加Cinemachine Confiner相机(2D 3D皆用此项)4.给bounds新建一个标签Tag,并选择。3.创建脚本,添加到相机上。
2024-03-06 19:33:02
1752
1
原创 Unity--生命周期方法
当一个脚本实例被载入且 Active 为 true 时 Awake 会被调用,一个非激活状态的预制件 Instantiate 的时候不会调用 Awake ,在首次调用 SetActive(true) 时会且只会调用一次,也就是说同一个 GameObject 的 Awake 函数只会被调用一次。所有的物理行为的每帧更新新的逻辑都应当放在这里面,因为这个是固定间隔的帧执行的,而普通的Update每一帧之间的间隔是不一样的,所以这个可以使施加在物体上的力是均匀的,不然就会出现卡顿的情况。
2024-03-05 14:31:41
676
1
原创 Unity–射线-Raycast射线检测
Raycast和RaycastAll是函数,使用射线来检测碰撞,通过Physics来调用。Raycast返回的是bool值,RaycastAll返回的是一个数组。RaycastHit是一个结构体,记录射线的碰撞信息。检测到了之后,存进hitInfos数组里。3.射线检测多个RaycastAll。当鼠标指向物体时,屏幕上显示物体名称。直接将变色之后的物体层数改变。Ray是一个类,表示射线。4、鼠标悬浮显示物体名称。layerMask:层。1.射线指向物体变色。
2024-03-04 19:11:07
825
1
原创 Unity–UI框架-Canvas-EventSystem-Panel
其中,第一种是最常见的渲染模式,也是画布的默认渲染模式设置,选择此种渲染模式,用户界面将覆盖场景,所有UI元素都将被绘制到该场景中渲染的其他内容之上,在这种模式下,canvas会自动填满屏幕,并且如果屏幕设置改变将自动调整大小,需要注意的是在这种模式下,canvas将主导矩形变换组件Rect Transform是不可编辑的,canvas将设置矩形变换Rect Transform中的所有值,以自动填充屏幕。,场景中可以有多个画布,但是UI元素至少需要一个可用的画布canvas,所有UI元素必须是画布的子项。
2023-12-09 13:34:08
2035
原创 Unity-全新版控制角色移动(2D)
本文方法来自b站M_Studio。第一步:在Edit-Player下滑找到Configuration如图更改。第二步:Window-Package Manager中搜索input,点击Input System,右侧下载install。第三步:在Project-Settings中右键-Create-Input Actions(在最下面)。第四步:双击打开新建的input。第一步点击最左边右上方的加号,第二步更改最右边的参数。第三步选中中间的,在加号,选择第二个。
2023-09-21 17:53:42
798
原创 数据结构——快速排序
快速排序算法通过多次比较和交换来实现排序,其排序流程如下:(1)首先设定一个,通过该分界值将数组分成左右两部分。(2)将分界值的数据集中到数组分界值的数据集中到数组的。此时,左边部分中各元素都小于分界值,而右边部分中各元素都大于或等于分界值。(3)然后,左边和右边的数据可以****。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。右侧的数组数据也可以做类似处理。(4)重复上述过程,可以看出,这是一个递归定义。
2023-06-12 17:13:50
137
原创 图的应用——最短路径(Dijkstra算法)
从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径叫做最短路径。解决最短路的问题有以下算法,Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法等。我使用的是Dijkstra算法来计算最短路径。
2023-06-12 16:34:06
752
1
原创 哈夫曼树及其编码
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数}。树的路径长度是从树根到每一结点的路径长度之和,记为WPL = (W1L1+W2L2+W3L3+…+WnLn),N个权值Wi(i=1,2,…n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,…n)。可以证明哈夫曼树的WPL是最小的。
2023-05-15 22:28:33
693
1
原创 c语言实现链队列
相信大家都知道队列是什么吧。队列是一种先进先出的线性表,它是在表的尾部插入结点,在表的头部删除结点。队列在我们日常生活中无所不在。例如在食堂排队吃饭、在医院排队挂号等等。那什么是链队列呢?用链表表示的队列就简称为链队列。一个链队列需要两个指针(头指针和尾指针),它们分别用来指示队头和队尾。
2023-04-24 19:50:55
461
原创 汉罗塔问题(递归)
现在我们单独来看前两个盘子,因为第三个盘子是最大的,所以移动前两个盘子的时候不必考虑盘子的大小。在移动前两个盘子的时候,也是要先将第一个盘子先移到c柱子上,然后再将第二个盘子移动到b柱子上,最后再将第一个盘子从c柱子移到b柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。无论多少个盘子,就像是n个,都是先将n-1个盘子先从a柱子移动到b柱子,再将第n个盘子移动到c柱子,最后将这n-1个盘子从b柱子移动到c柱子。:将b柱子上的两个盘子移动到c柱子上。
2023-04-22 18:12:40
2374
原创 数据结构之线性表(总结)
但为了表示个个节点的关系,也就是数据之间的关系,我们就需要给每个节点加上指针字段,用来存储下一个节点(数据)的存储地址。线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。说简单点,顺序存储就是在内存中找块地,把一定的内存空间占了,然后通过依次占位的方式,把相同数据类型的数据元素依次存放在这块地上。顺序存储:将数据依次存储在连续的整块空间中,是用一段地址连续的存储单元依次存储线性表的数据元素。这两部分组成的一个结构体,在连链表中称为结点。
2023-04-19 12:04:03
315
原创 数据结构:多项式相加--c语言实现(包括排好序与未排序的情况)
因为我们是用原来第一个链表来存放相加后的节点,所以需要用r来指向第一个链表的头结点,并且我们不需要第二个链表的头结点了,所以释放它。首先分配一个q来存放需要加入的节点,然后用循环找出链表的最后一个节点,最后将最后一个节点的next域指向q.LindNode结构体中存放的coefficient、exponent分别指的是每一项的系数和指数。这个代码的目的是实现类似于20x^5 +2x^4 + 10x^2 -5x这样的式相加。,将r的next域指向指数更小的一项。的多项式,也就是排好序的。运行结果与上方一样。
2023-04-08 13:41:09
428
原创 数据结构:静态链表–C语言代码
和是线性表链式存储结构的两种不同的表示方式。是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。
2023-04-06 21:40:23
241
1
原创 数据结构 单链表--c语言(简单易懂)
该函数是创建头结点,一个不存放数值的节点,目的是方面对链表的操作。该函数是使用函数的了,一般我会写在mian方法中。有效数据,加头节点的目的是为了方便对链表的操作。2.头节点:第一个有效节点前面的那个节点,并。定义:n个节点离散分配,彼此通过指针相连。该函数就是不用指针 用&符来连接各个节点。接下来将附上我的代码,也包括了对单链表的。4.头指针:指向头节点的指针变量。5.尾指针:指向尾节点的指针变量。3.尾节点:最后一个有效节点。1.首节点:第一个有效节点。以上是闵帆老师的代码。
2023-03-29 12:49:49
142
原创 对于数据结构的基本认知,入门知识--初识数据结构
但为了表示个个节点的关系,也就是数据之间的关系,我们就需要给每个节点加上指针字段,用来存储下一个节点(数据)的存储地址。它之间是互相存在一种或多种特定关系的数据元素的集合,换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系.数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。其实在我看来,数据结构的本质是存储数据以及怎样利用存储数据的方式来解决各种各样的算法题.数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。
2023-03-22 21:52:58
520
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人