- 博客(8)
- 收藏
- 关注
原创 Unity实现鼠标滑动控制物体移动
一、思路:在3D场景中,通过鼠标点击“地面”获取位置信息来使玩家进行横向相对运动。1、在场景中创建一个Plane作为地面。2、使用射线检测分别记录第一次鼠标点击(Input.GetMouseButtonDown(0))时的位置信息和鼠标按下(Input.GetMouseButton(0))划过的每个点信息。3、计算鼠标滑动的偏移量,赋值给玩家,使玩家获得相应的横向移动距离。二、代码:1...
2019-09-30 10:32:34
5015
原创 Unity通过Collider2D实现按钮点击
一、准备工作:1、创建一个2DSprite作为按钮图标。2、*为按钮添加collider2D组件。3、创建一个脚本(ButtonEvent)并挂载到按钮上。二、代码: public class ButtonEvent : MonoBehaviour { void OnMouseDown() { Debug.Log("MouseDown");...
2019-09-17 18:32:49
3234
原创 Unity 消消乐中最简单的算法
1、算法环境:这是一个判断元素匹配的算法。假设三个相同元素连在一起可以消除,且不可以斜向消除。2、思路:通过二维数组的循环遍历得到一个 x * y 的矩形。x轴从左到右递增,y轴从上到下递增。以第一个选中的元素为起点开始遍历。创建一个二维数组用来表示元素位置(items[ , ]),创建Item类,定义X、Y、Type(元素种类)。创建三个List用来存储相同元素:横向遍历到的所...
2019-08-15 20:01:29
5859
原创 Unity实现镜面反射效果
1、准备工作①创建一个Sphere为发射点,添加LineRenderer组件。②调整LineRenderer组件下的宽度属性:当然想更好看些可以添加个材质修改个颜色啥的。 ③最后随便创建几个Cube当反射墙面(顺便修改tag为"Mirro")。2、编写脚本,挂到Sphere上。using System.Collections.Generic;using UnityEngine...
2019-07-28 16:27:12
4665
原创 Unity 实现Image中Fill Amount的平滑增减效果(进度条为例)
在游戏开发过程中,难免会遇到进度条的制作。这里我新建个场景从头做个简化版的。1、准备工作。在Unity中创建一个简单的UI界面。就像这样:其中imgBG和imgFillAmount的尺寸要相同。修改imgFillAmount的属性:(将Image Type改成Filled,记得要在Source Image中加入Sprite)可以看到FillAmount属性是个从0到1的值,拖动就可...
2019-07-19 19:52:54
20715
原创 Unity射线检测更换物体材质球
今天遇到了这样的一个需求觉得很有建设性:在摄像机跟随角色移动的过程中,如果遇到物体遮挡,将其变为透明材质,物体移开后还原初始材质。下面是我的实现方式:~1、创建射线。(顺便把透明材质球加载出来) private Ray ray; //透明材质球 private Material alphaMate; void Start() { ray = Camera...
2019-07-12 19:28:59
964
原创 Unity关于选关界面的制作
选关界面,就像这样:1、在Canvas中创建一个选关界面,同时添加Grid Layout Group组件;通过调节组件中的属性可以管理子物体的大小与间距(这里指关卡按钮)创建关卡按钮在Content下;2、创建LevelItem脚本,挂载到每个Button上;添加引用:代码:public class LevelItem : MonoBehaviour{ /// &...
2019-06-23 17:16:48
7369
原创 Unity鼠标操作移动施加圆形限制
Unity鼠标操作移动施加圆形限制在场景中心生成一个中心点,计算所控制物体与中心点距离,将距离控制在所需的范围内。 Vector3 center;//鼠标拖拽的位置 Vector3 pos = 物体位置 + _hit.point - (鼠标初始点击的位置);//当物体在限制范围内时 if (Vector3.Distance(pos , center)...
2019-06-22 15:23:50
1700
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人