
Unity
杜明轩-
这个作者很懒,什么都没留下…
展开
-
Unity灯光闪烁
using System.Collections;using System.Collections.Generic;using UnityEngine;public class AlarmLight : MonoBehaviour { public bool alarmOn; public float turnSpeed; private float highIntensity = 2f; private float lowIntensity = 0; pri原创 2022-01-16 21:31:01 · 3436 阅读 · 0 评论 -
多线程模拟接力赛跑
using System;using System.Collections;using System.Collections.Generic;using System.Threading;using UnityEngine;public class ThreadHomework : MonoBehaviour{ void Start() { Thread puTong = new Thread(PaiHao); puTong.Name = "普通原创 2022-01-16 20:26:36 · 655 阅读 · 0 评论 -
多线程模拟网络抢票
using System;using System.Collections;using System.Collections.Generic;using System.Threading;using UnityEngine;public class Thread02 : MonoBehaviour{ int sumPiao = 10, huangNiu = 0, num = 0; void Start() { Thread t = new Threa原创 2022-01-14 20:21:22 · 561 阅读 · 0 评论 -
Button鼠标拖拽 实现按钮滚动效果 62 34 69.01 150 150
1.新建两个Panel和九个Butto,名称、位置关系如下图(两个面板的大小一致 Content为透明面板)2.为MainPanel面板添加Scroll Rect 脚本并把Content面板拖到Scroll Rect 的Content属性中3.为Content面板添加Grid Layout Group组件,并调整Padding和 Cell Size属性...原创 2022-01-10 21:07:33 · 412 阅读 · 1 评论 -
打包项目资源
using System.Collections;using System.Collections.Generic;using System.IO;using UnityEditor;using UnityEngine;public class Test : MonoBehaviour{ [MenuItem("Chajian/AB")] public static void Get() { string path = Application.stre原创 2022-01-07 15:54:51 · 1258 阅读 · 0 评论 -
制作插件以及用插件克隆物体
using System.Collections;using System.Collections.Generic;using UnityEditor;using UnityEngine;using UnityEngine.UI;public class TestEdit : Editor{ [MenuItem("Chajian/WangNeng")] public static void Test() { //GameObject cube = Re原创 2022-01-07 15:53:35 · 2486 阅读 · 0 评论 -
AssetBundle(AB)解析
using System;using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.Networking;public class LoadDb : MonoBehaviour { // Use this for initialization void Start () { //LoadFile();原创 2022-01-07 15:43:24 · 1867 阅读 · 0 评论 -
用MVC框架完成UI界面中数据的初始化
public class PlayerModel : MonoBehaviour{ #region 1.封装两个界面属性 private string playerName; public string PlayerName { get { return playerName; } set { playerName = value; } }//玩家名称 private int playerLevel;//玩家等级 ..原创 2022-01-05 16:42:04 · 240 阅读 · 0 评论 -
常用API介绍
public Text t; public Button btn;void Start(){ //3D对象transfrom.DOMoveX(5,2);//往X轴方向移动至五米的位置(补间动画)用时两秒transfrom.DOMove(new Vector3(5,0,0),2);//往X轴方向移动至五米的位置(补间动画)用时两秒transform.DORotate(new Vector3(90,0,0),2);//往X轴方向顺时针旋转90°用时两秒 (最多90°)transform.DOS.原创 2022-01-04 21:37:20 · 129 阅读 · 0 评论 -
使物体围绕自身的某条边旋转
1.创建两个Cube,位置关系如图,RedCube(1)缩放为Cube的一条边大小,并把RedCube(1)调整到Cube你想要围绕旋转的那条边的位置2.转动RedCube(1)即可实现效果原创 2022-01-04 16:19:31 · 166 阅读 · 0 评论 -
UGUI开始游戏时角色选择
1.设置Canvas的Render Mode属性为 Screen Space-Camera2.将Main Cramera拖入Render Camera中3.调节角色的z轴显示如图原创 2021-12-24 17:22:13 · 950 阅读 · 0 评论 -
NGUI开始游戏时角色选择
1.主相机和UI Root中的相机的Culling Mask都勾选上UI(3D)2.调节角色的Z轴位置显示效果:原创 2021-12-24 17:11:42 · 861 阅读 · 0 评论 -
解析JSON
1.插件2.在Assets/Json中新建一个txt文件(另存为UTF-8格式)内容:{ "name":"张三", "skillList": [ { "id":101, "name":"无影脚" }, { "id":102, "name":"罗汉拳" } ]}3.新建Skill类using System.Collections;using System.Collections.Generic;using UnityEngine;原创 2021-12-24 17:00:17 · 283 阅读 · 0 评论 -
敌人定点巡逻
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.AI;/**文件描述:*创始人:*创建时间:*修改时间:*版本:1.0*/public class Enemy : MonoBehaviour { public Transform[] waypoints;//导航路径 NavMeshAgent agent; int index = 0;//路原创 2021-12-24 11:38:46 · 265 阅读 · 0 评论 -
UI框架的使用(NGUI)
1.导入资源包2.把NGUI面板制作成预设体,然后把预设体拖到Resources/UIPanel中3.为各自面板建立对应的脚本4.再在原创 2021-12-22 09:48:53 · 1964 阅读 · 0 评论 -
定点寻路、敌人巡逻
public Transform[] waypoints;//导航对象所在的路径 int index = 0;//路径下标 NavMeshAgent agent;//导航组件 Animator an;//动画状态机 Transform player; float attackTime = 2.7f; void Start() { an = GetComponent<Animator>(); agent...原创 2021-12-21 09:54:42 · 212 阅读 · 0 评论 -
点击鼠标左键,从摄像机位置产生射线
void Update () { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray,out hit)) { agent.SetDestination(hit.point); } } }原创 2021-12-21 09:32:01 · 208 阅读 · 0 评论 -
滚轮缩放视角以玩家为中心旋转视野
using UnityEngine;using System.Collections;public class CF2 : MonoBehaviour{ private Transform player; private Vector3 offsetPosition;//位置偏移 private bool isRotating = false; public float distance = 0;//存储距离 public float scrollSpeed = 10;//拉近拉远的距离原创 2021-12-20 20:41:50 · 236 阅读 · 0 评论 -
12.20 摄像机跟随玩家
public class CameraFollow : MonoBehaviour {float up = 11, away = 17; Vector3 pos;float speed =3f; void Start () { player = GameObject.FindWithTag("Player").transform;}void Update () { pos = player.position + Vector3.up * up - player.forward * away原创 2021-12-20 18:43:29 · 335 阅读 · 1 评论 -
UGUI鼠标放到图片上面提示信息
1.新建Image Text 位置关系如下图(Text中输入你所要提示的内容)2.为Image添加Button3.新建一个OverandOut1脚本并挂给Canvasusing System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class OverandOut1 :MonoBeh原创 2021-12-20 10:07:58 · 192 阅读 · 0 评论 -
NGUI鼠标放到图片上面提示信息
1.新建Sprite和Label位置如下图2.为Sprite添加两个脚本 UIEventListener和UI Event Trigger3.新建一个脚本OverandOut1并挂给UI Root,并把Label拖入其中public class OverandOut1 : MonoBehaviour{ public UILabel tap;//实际中其实是克隆出来的,这里只是为了方便一点 public void Over() { tap.gameObj原创 2021-12-20 09:43:24 · 148 阅读 · 0 评论 -
Unity制作摇杆
1.导入UGUI与Tools资源包,Unity中就会出现两个插件2.导入人物模型资源包全部导入完之后3.新建Plane、把人物模型拖到场景中4.给人物模型制作动画状态机4.1找到人物模型动画,并将全部的动画类型设置为Genic类型4.2将Idle与Run动画勾选 Loop Time与Loop Pose4.3在Assets中新建一个名为Animators与Scripts的Folder,并在Animators中创建一个名为Player的动画状态机4.4双击Player状态动画机原创 2021-12-17 20:47:45 · 1913 阅读 · 2 评论 -
在小地图中NPC和Player以图标显示
1.在人物模型层级中新建Quad,并将位置移至人物模型头顶2.给Quad赋予相应的图标贴图2.在NPC模型(这里以Cube代替)层级中新建Quad,并将位置移至NPC模型头顶3.让玩家与NPC的Quard图标贴图选择Refractive渲染方式渲染之后的效果3.创建一个NPC层和Player层,然后让他们选择各自相对应的层4.在Mini摄像机渲染NPC层和Player层Mini摄像机是用来从顶部照射玩家与玩家所经过的场景的minimapCamera制作:把上面的Audi原创 2021-12-17 19:15:58 · 387 阅读 · 0 评论 -
NGUI 多选框(Toggle)
1.创建两个Sprite位置关系如下2.为两张Sprite选择背景图片3.为父级Sprite添加Box Collider4.为父级Sprite添加Toggle Script5.把子级的Script的Sorite属性中6.显示效果点击之前的显示效果点击之后的显示效果...原创 2021-12-15 21:03:58 · 1113 阅读 · 0 评论 -
NGUI Popup List Script(下拉列表)
1.创建Sprite和Label位置关系如下图2.为Sprite添加Box Collider和Popup List Script3.为Label.Text添加 请选择您的年龄文字4.把Label拖到Notify中5.在Options中输入年龄段6.设置Method为UILabel/SetCurrentSelection7.显示效果...原创 2021-12-15 19:57:24 · 633 阅读 · 0 评论 -
NGUI适配屏幕分辨率
1.设置Scaling Style为Constrained On Mobile2.调节自己需要的分辨率(我的是1920*1080)并同时勾选Fit(适应屏幕)原创 2021-12-15 19:29:45 · 252 阅读 · 0 评论 -
NGUI创建进度条(Slider)
1.创建两张一样大小的图片,位置如下2.给Sprite添加Collider3.给Sprite添加Slider Script4.设置Slider Scriptd的Appearance属性Foreground设置为Sprite(1) 拖动的时候慢慢显示的那个图片Background设置为Sprite 一开始就显示的图片Thumb:游标5.设置Direction为Left To Right、Value为06.拖动显示效果...原创 2021-12-15 19:21:34 · 939 阅读 · 0 评论 -
NGUI用脚本为Button添加点击事件
using System.Collections;using System.Collections.Generic;using UnityEngine;/**文件描述:*创始人:*创建时间:*修改时间:*版本:1.0*/public class Test : MonoBehaviour { UIButton btn; void Start () { btn = transform.GetChild(2).GetComponent<UIButton>(); Even原创 2021-12-13 17:06:01 · 520 阅读 · 0 评论 -
NGUI创建Button
1.选中Sprite2.为Sprite添加Collider添加后:3.为Sprite添加Button Script原创 2021-12-13 17:00:36 · 540 阅读 · 0 评论 -
Horizontal和Vertical
Horizontal:X轴(AD键或方向箭头)静止时为0,当按下A键时这个数值减小,返回一个小于0的数值,同理,D键为大于0的数值;物体就在X轴方向水平移动Vertical:Y轴(WS键或前进后退键)静止时为0,当按下S键时这个数值减小,返回一个小于0的数值,同理,W键为大于0的数值;物体就在Y轴方向垂直移动...原创 2021-12-11 10:52:10 · 4009 阅读 · 0 评论 -
自行调换脚本的执行顺序
第一步:添加所要更换执行顺序的脚本,首先添加的优先执行原创 2021-12-10 19:56:47 · 229 阅读 · 0 评论