- 博客(23)
- 收藏
- 关注
原创 Unity的Collider2D组件
1.OverlapPoint:检查碰撞体是否与空间中的某个点重叠,返回值为bool。Unity官方文档描述:2D 游戏玩法使用的碰撞体类型的父类。3.Polygon Collider:多用于不规则物件。2.circle Collider:多用于圆形物件。1.box Collider:多用用于长方体物件。作用(1)可以用于对图片的点击判定的修改。前言:长期更新,学到什么更新什么。多是用于区分外形边缘。
2024-07-30 15:53:48
321
原创 Unity实现不规则按钮
原因:原来图片更改不了边框,但是collider2D可以,故改成对collider的判定。Collider2D组件,该组件是可自由编译边缘的collider组件。2.将原来的图片组件删去换成MyImage组件。换成对collider2D射线碰撞的判定。3.在button对象上添加。从原来对图片边框的射线判定。1.修改图片的点击判定。
2024-07-30 15:19:07
353
1
原创 Unity的音效播放
2.使用AudioSource.PlayClipAtPoint()函数。2.在空物体上挂载AudioSource组件。1.定义音乐片段的变量AudioClip。二.对于需要特定条件触发播放的音乐。3.打包成全局脚本,触发条件时调用。一.对于场景持续播放的音乐。
2024-07-28 16:38:50
592
原创 Unity的EventSystem.current.IsPointerOverGameObject()函数
返回值bool,true表示是,false表示否。作用:判断点击是否在UI上。
2024-07-28 14:55:55
456
原创 Unity的数据保存
正常脚本创建出来应该是继承MonoBehaviour的,修改为ScriptableObject。使用与脚本类似,但是里面记录的数据会永久保存。使用一种名叫ScriptableObject的类。添加上面这个函数之后,便可以在主场景里直接生成。
2024-07-25 15:49:02
299
原创 Unity的UI滚动视图的使用
二. 为了使得内容有间隙的排列,我们可以在content上添加组件Horizontal Layout Group。Scrollbar Horizontal: 水平滑动的拉条显示。Scrollbar Vertical:垂直滑动的拉条显示。当前看到的即为Scroll View,显示在屏幕上的部分。为达到以上目标只需调整间距, 以及把子力扩展关掉。Scroll View:显示在屏幕上的部分。Viewport:总共可以滑动的范围。以上是Unity官方文档的解释。一. 创建出来如下图。Content:内容。
2024-07-24 16:13:31
352
原创 C#中的Dictionary组件
关于TryGetValue的两个参数,第一个是对应的x,第二个是存储取出来的y, 需要在前面添加一个“out”。中的两个参数可以换做任意需要的变量。此处为某个数对应一个图片数组。此表示 3000 (int) -> scorce3000 (数组)4.通过对应的“x” 获取 “y”, 使用TryGetValue。此处表示取出 scorce3000的数组放在scorceArr中。2.Dictionary需要初始化, 使用new。类似一个表格函数,每一个x有一个对应的y。1. 与C++中的Map作用大致相似。
2024-07-23 15:40:57
197
原创 Unity实现坐标移动画面平滑过渡
该函数就是用来表达t的函数,它表示在两个连续的帧之间经过的时间。由于硬件等等因素的影响,帧速率会有所差别,故而固定两个连续帧之间的播放速度有助于提高稳定性,从而达到平滑的效果。该函数可以帮助实现两个坐标间的线性插值,从而达到平滑移动的效果。返回值等于 a + (b - a) * t。参数:a,b是出发点以及目标点,两者结合即可实现平滑过渡。
2024-07-19 15:54:10
382
原创 Unity坐标范围的方法
例子:对于某个函数 y = x^2 截取在x范围为(2,4)这样不管输出多少,都会被限制在2,4范围内。1.Mathf.Clamp函数。限制的对象,最小值以及最大值。
2024-07-19 15:34:27
254
原创 Unity动画挂载的理解
2.对于第二行到第四行,是采用了对子物体的两种修改,StarBg即该prefab预制件子物体共有,名字相同,所以都能找到不会出现丢失的情况。而对于其他三个则是三个物件各自只拥有一个,那么需要同时修改,并且对于每一个只会找到一个物件,另外两个全部缺失。1.对于第一行的缩放,是采用了对本体的修改,可以清晰的看见,缩放所选中的目标是本体的prefab件。于是当这一项更改,即更改所有同为prefab预制件的缩放。当然,也可以同时在一个动画中更改多个子物体的属性,不过该方法需要全部适配,不适合物体量多的情况。
2024-07-17 16:07:52
438
原创 Unity的UI暂停按钮以及暂停弹窗的设计
通过索引animator组件,animator组件中自带有函数SetBool可以改变bool值,设计点击函数并且通过手动拖载挂在button上。使用Unity内置函数Time.timeScale,其功能是对时间流逝的比例缩放,当值为0时,时间完全暂停,updata函数全部失效。此处默认状态为NewState,当bool为true时播放窗口滑动出来的动画,当bool为false时播放窗口回弹的动画。4.设计触发条件,对动画状态值进行设计,可以通过bool的改变判断动画的播放。如此图,应挂在PanelUI上。
2024-07-15 11:33:44
355
原创 Unity延后执行函数的方法
Invoke可以理解为一种委托,括号内是委托执行的函数,以及延后执行的时间。1.函数定义前加IEnumerator。以上两种方法均可以实现函数1秒后执行。IEnumerator实现协程。2.使用Invoke()
2024-07-11 16:15:16
279
原创 Unity中场景的切换
2.LoadScene: 内置于SceneManager,用于加载场景。4.buildIndex: 获取GetActiveScene的索引下标。1.SceneManager:untiy内置用于控制场景相关的功能。3.GetActiveScene:获取当前场景。背景: 加载页面自动跳转游戏画面。总功能:加载下一个场景。即两个游戏场景的切换。
2024-07-10 10:50:47
494
原创 Unity中IEnumerator的初步理解
yield是在IEnumerator中附带的属性。个人将其理解为跳转,让该函数去往别的函数中代替当前本该按顺序执行下去的代码。从而达到延后的功能。背景:unity的代码是按照顺序进行执行的,我们需求某个函数延后执行。于是Unity中的IEnumerator就为我们实现这个功能。WaitForSeconds():等待()秒后。
2024-07-10 10:37:03
209
原创 Unity游戏物体的实例化
GameObject.Instantiate官方定义的五个参数如下。//Resouces.Load函数用于在unity库中找对象。//第三个参数实例化位置,是否旋转,此为原位置不旋转。//括号里是指unity库中爆炸动画的文件名。//在代码中获取后下一步就是实例化出来。这里以实现摧毁物体出现爆炸特效为例子。//第一个参数实例化对象。//第二个参数实例化位置。
2024-07-09 12:00:38
393
原创 Unity的Sprite组件
1.SpriteRenderer 作为一个游戏对象,内置有sprite。3.List<sprite> 图片链表,可以获取图片集。2.Sprite 可以定义一个图片变量。通过以上方法可以改变或修改图片。
2024-07-07 17:30:00
178
原创 untiy实现在限制范围下的圆周运动
假设有一个弹弓,明显不能完全绕一圈,对于底部的小部分圆弧是不能穿过的,那么就需要实现限制范围下的圆周运动。1.坐标点可以通过空物体定位,在脚本中通过Find函数可以找到。3.斜率通过向量获取,注意特判x==0的情况。2.判断象限采取x,y坐标判断。
2024-06-17 11:03:02
296
原创 unity的用LineRenderer制作弹弓皮带
2.在弹弓脚本上获取LineRenderer组件。1.在弹弓上创建两段LineRenderer。LineRenderer是一个可伸缩的线段。可以用于制作弹弓的皮带。
2024-06-14 15:39:09
160
原创 unity脚本间的关联
一.相互隔离没有任何父子关系的脚本间的引用。子可以直接引用父的public函数。1.get代表是否可以引用。2.set代表是否可以修改。二.有父子关系的脚本。
2024-06-14 15:27:48
273
原创 unity2D获取鼠标到平面位置
官方定义:The first enabled Camera component that is tagged "MainCamera" (Read Only).3.对每一个摄像头cam都有内置函数ScreenToWorldPoint, 将屏幕空间坐标转化为世界坐标。2.Camera.main : 获取主摄像头。2.mp = 相机到鼠标位置的三维向量。1.定义变量Vector3 mp。1.Camera: 摄像头声明。3.mp的z轴设置为0。
2024-06-14 11:31:16
334
原创 unity实现人物平滑移动
(1)使用input.Get获取按键: 检测按键是否持续按下。如果有更好的思路,欢迎讨论。以下是对x坐标移动的控制。
2024-05-22 17:43:27
520
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人