- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 简便AStar (A*)算法寻路,自定义格子数据结构,抛弃插件的冗余,专注于寻路~
各位看官们好呀~AStar算法一搜一大把,大神们讲的都很详细,不过启发函数会影响算法的性能。简而言之我这个AStar在权值计算的时候加了判断去看看目前的路径的权值是否已经大于目前已经找到的最短路径权值,可以有效减少遍历的成本。如果有大神感觉这样写不对,欢迎留言给予指教丫。ps.排序用到了之前帖子写的堆排序,配合食用更加哟。AStar.cs:using System.Collections;using System.Collections.Generic;using UnityEngine;//
2021-03-01 16:55:39
432
原创 Unity按钮拓展,可用于单击,双击,长按(单次),长按(间隔),按下,抬起,进入,移出事件,创建透明按钮(删去了网格不会触发dc,只调透明度的普通按钮会触发dc),按钮置灰。
各位看官们~只需要引入两个脚本即可简便的监听各种按钮事件噢!!使用说明都在注释里咯UIButtonExtension:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.Events;using UnityEngine.EventSystems;#if UNITY_EDITORusing UnityEditor;
2021-01-21 11:27:08
966
2
原创 关于unity图集(SpriteAtlas)加载图片资源(Sprite)一点小测试
今天优化项目的时候发现某个ui界面打开有些慢,但是dc并不高,只有13,感觉可能是动态加载的东西有点多导致的,于是测试了一下发现。。原来是图片资源的加载导致的。。这是没有加载图片的情况:然后是这个是加载了图片的情况:于是就发现加载图片资源基本上花了1/3的时间去读文件,然后就蹦出了一个机(s)智(b)的想法,如果我每次加载资源的时候用dictionary把sprite存下来,然后如果遇到相同的话再去实例化一下岂不是可以省去load的时间?结果。。结果不仅没有省去load的时间,反而增加了一堆
2021-01-20 19:21:23
2301
1
原创 Unity自定义信息储存工具(存档工具,可按照需求拓展为关卡编辑器),编辑器拓展样式查找工具
先说一下这个工具可以干神马呢~~~它可以让策划愉快的对游戏数据边调试边修改,方便他们调整数据用滴。也可以作为工程的自定义数据的存档,它会将数据存到.asset文件里面。接下来上代码。首先是自定义数据的数据结构,这里全部都可以自定义,但是类型最好用基础类型,数组或者list,因为本人踩了Dictionary的坑,貌似是无法识别到dictionary的改变导致不能储存,不知道有木有大神指点迷津= =LevelData:using System.Collections;using System.Colle
2020-12-15 14:56:50
1046
原创 使用委托完成长按等各种点击事件以及不同的触发类型的处理
话不多说,前提条件:1、Physics Raycaster(放在Camera下)2、EventSystem组件然后,挂上脚本:public class PressedManager : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler{ public Action downAction; public Action upAction; public Action pressedAction;
2020-09-25 18:01:14
186
原创 排序算法:C#使用泛型和IComparable接口来实现自定义通用堆排序,正态分布排序,排序工具类
1.堆排序代码 /// <summary> /// 堆排序 /// </summary> /// <typeparam name="T">返回类型</typeparam> /// <param name="type">需要排序的类型</param> /// <param name="isMaxHeap">是否大根堆</param> /// <retur
2020-09-04 15:36:13
269
原创 抛弃游戏黑边,全屏分辨率适配:一个简单的刘海屏适配,ui适配位移,以及正交相机根据分辨率自适应宽度其中ui根据锚点自适配位置(抽空继续完善)
ChangeCamera脚本挂在相机上,ScreenMatchEditor脚本放在editor文件夹下,ScreenMatch脚本挂在需要适配的ui上。刘海屏适配的话要简单的感觉就只能做到目前适配机型的最大刘海长度,如果要完美一点的话感觉就要根据机型进行对应适配了。ChangeCamera:using System.Collections;using System.Collections.Generic;using UnityEngine;public class ChangeCamera :
2020-06-23 10:42:04
558
原创 Unity优化----MeshBaker浅试
对于游戏场景内的静止物体,可以使用MeshBaker进行mesh合并,进行烘焙后,再删除原本物体身上的mesh组件,只保留碰撞器,在达到同种效果的同时达到降低DC。1.在MaterialBaker中选择2.选择场景中的物体之后再选择3.点击,以创建一个空的合并4.合并mesh5.在子物体MeshBaker中进行烘焙6.点击隐藏已经烘焙好的物体的MeshRenderer组件7.欣赏自己一番操作而降低的DC~...
2020-05-21 16:05:26
444
原创 unity导出Android工程生成的build.gradle文件注解
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAINbuildscript {//这里是gradle脚本执行所需依赖,分别是对应的maven库和插件repositories {maven{ url ‘’}mavenCentral()google()//从Android Studio3.0后新增了google()配置,可以引用google上的开源项目jcenter()//是一个类
2020-05-13 11:15:13
1202
原创 一个简单的场景编辑器,添加预制体不用再去文件夹拖拽,可根据加入数量自动命名
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using UnityEngine.UI;public class ImportPrefabManager : EditorWindow{public static ImportPrefabManager importPrefabManager;public List pName = null;//新增的需
2020-05-11 09:51:22
651
原创 记一个Unity与安卓交互的方式
Unity:AndroidJavaClass jc = new AndroidJavaClass(“xxx”);AndroidJavaObject jo = jc.GetStatic(“currentActivity”);jo.Call(funcName, para);Android:UnitySendMessage(“string”,“string”, ***)第一个参数为unity中的一个gameobject名称第二个参数为这个gameobject身上捆绑的脚本中的一个方法而第三参数是这
2020-05-09 11:47:44
203
ButtonEX.unitypackage
2021-01-25
ScreenMatch.unitypackage
2020-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人