- 博客(55)
- 收藏
- 关注
原创 【功能】Lua层的全局事件管理系统
3..Lua层Common工具目录去require对应文件目录的脚本文件。1.EventManager 全局的管理类。2.EventType 事件类型。
2024-08-20 10:32:13 338
原创 【功能】修改昵称
3.Unicode文件编码格式下,一个英文字母(不区分大小写),占1个字节;4.UTF-16文件编码格式下,一个英文字母(不区分大小写),占2个字节;5.UTF-32文件编码格式下,一个英文字母(不区分大小写),占4个字节;2.UTF-8文件编码格式下,一个英文字母(不区分大小写),占1个字节;1.ASCII中,一个英文字母(不区分大小写),占1个字节;需求:全中文模式下,最多8个汉字;其它情况最多16个字节。此处引入C#中,中英文在不同文本格式下占用的空间大小。
2024-08-19 17:01:22 244
原创 【功能】DOTween动画插件使用
使用 Free免费版本即可,导入成功后,Project视图中会出现 DOTween 文件夹。C#中使用 Sequence 缓动动画序列,让多个动画依次播放,实现动画组合。由此可见,序列动画,也可以实现多个动画同时播放。
2024-07-18 15:34:32 388
原创 【功能】UGUI判断是否点击在UI上
PC端:EventSystem.current.IsPointerOverGameObject();利用 EventSystem 检测到是否点击在UI上,但是在移动端会失效。2.适用于 OnMouseDown(),Input.GetMouseButtonDown(),需求:3D场景内,在点击2D的UI时,避免 Input.GetMouseButton(0) 长按冲突。三、使用 IsPointerOverGameObject() 函数的重载。可选择使用与自己项目更匹配的方式进行。
2024-07-09 14:12:36 299
原创 【APK】SDKManager运行后闪退
修改完毕,后缀名更改回 .bat,然后双击运行 SDKManager进行后续的配置。1.修改tools目录下的 android.bat 文件,更改后缀为 .txt。本地JDK已安装,且配置了环境变量,未安装 android studiio。问题描述:右键以管理员身份运行 SDKManager,终端窗口闪退。问题原因:未找到正确的Java路径。2.修改java_exe的路径。
2024-07-04 12:57:17 422 1
原创 【APK】Unity出android包,报错 Gradle build failed.See the Console for details
AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载。2.下载完成后,解压缩至自定义的sdk路径(纯英文目录),原有的SDK保留,解压缩后的文件更名为 androidsdk。至此,就可以愉快的Build啦,当然,记得配置打包的参数...本地出Android包,Build失败。4.更改Unity中SDK的路径。1.下载一个低版本的sdk。具体下载哪些内容,可参考。
2024-07-04 11:58:29 385
原创 【C#】Stopwatch计时器
使用Stopwatch检查C#中代码块的执行时间,比如歌曲,图片的下载时间问题。根据需求,我们具体可使用到 Start() 开始计时,Stop() 停止计时等。首先,我们可看到Stopwatch 类内部的函数。
2024-04-25 17:53:40 563
原创 查找重命名
选择需要查找的 GameObejct,执行Editor,控制台即可输出Log信息。编辑器扩展:查找GameObject中是否存在重复命名的节点。
2023-06-13 10:21:30 117
原创 【功能】Unity 红点系统
项目需求:提供一个共用的红点功能设计:注册与反注册的管理器,定义红点枚举类型 连接管理器的基类,基类中提供外部调用的接口实现:--红点类型RedDotMgrType ={ MailPanel_Red = 1, --邮件系统}---@privatefunction RedDotMgr:ctor() self:Clear()end---@privatefunction RedDotMgr:Clear() self.msgMap = {} se...
2021-07-07 20:18:10 647 2
原创 【工具类】
1.字符串转table,String To Tablefunction Util.StrToTable(str) if str == nil or type(str) ~= "string" then return end return loadstring("return " .. str)()end
2021-06-30 16:34:03 118
原创 【项目案例】A*算法实例
需求:从A点到B点,找到最短距离,从未在项目中涉足过算法的我,第一反应,这不是需求实现一下A*算法吗,这不是巧了吗!!!(以正方形单位长度为1 的实例)这里引入代价的概念G — 表示该节点到上一路径节点的移动代价H — 表示该节点到目标节点的移动代价F — 移动总代价,F = G + H1.两个列表,开启列表(open List),关闭列表(closeList),开启列表用来存放所有需要被考虑的节点,关闭列表用来存放所有不被考虑的节点2.将起始节点添加至开启列表3.在开启
2021-06-30 16:08:30 678
原创 VsCode 过滤指定后缀名文件
打开编辑器,Ctrl+P 打开 settings.json 文件,直接添加配置 "files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, "**/*.meta":true, "**/*.mat":true, "**/*.anim":true,
2021-05-08 16:41:10 4240
原创 Sublime 过滤 .meta 文件
打开编辑器首选项 Preferences,选择设置 Settings,添加过滤文件名称后缀"file_exclude_patterns": [ "*.mat", "*.meta", "*.anim", "*.resx", "*.prefab", "*.manifest", "*.controller", ],配置完成,保存后,重新打开编辑器即可。...
2021-05-08 16:24:50 831
原创 【功能】序列化服务器数据
服务器数据格式:{ [1] = 10001, [2] = 10002} }客户端需序列化服务器数据,转为 Table 格式,以便客户端去做表现---获取序列化数据,数据格式{ [1] = 10001, [2] = 10002} }---@param {table} data 服务器数据---@return {table} 结果列表function obj:GetSerializationData(data) local numTab = {} local resultTab = {} if
2021-03-26 19:39:45 147
原创 【功能】Unity 制作简单红框闪烁提示效果
需求:红框闪烁提示效果实现方案:1. 特效2. 单张 Image原理:设置 alpha 的值,使其能够动态变化,由 0 —1 , 再由 1 — 0首先给物体挂载 CanvasGroup 组件,使用 DoTween 动画,控制 Alpha 值 local DOTween = DG.Tweening.DOTween --建立seq队列 self.seq = DOTween.Sequence() --节点 local fade = self.warning.canvasGroup --渐变
2021-03-18 15:17:21 1997 1
原创 【功能】Unity 中使用 Slider 代替 ScorllRect
1.首先我们应该知道 Slider 和 ScrollRect 这两个组件中分别携带的功能属性2.需求:动态加载多个 Item 时,滑动条的大小不会随之改变,固定大小组件的具体属性在这里就不做多余的阐述了,巴拉巴拉…实际我们需要改变的是 Slider 的 value 值,且value 的取值范围在 0 ~ 1 之间滑动时更新: public void UpdateSliderValue(Vector2 value) { if(sliderbar != null)
2021-03-15 21:03:40 358
原创 【时间戳】日期字符串时间转换为时间戳
时间格式:2019-03-24 23:28:28Lua:function _mt.get_curr_date(srcDateTime) --例如当前时间:2019-03-24 23:28:28, 从日期字符串中截取出年月日时分秒 if srcDateTime == nil or srcDateTime == "" or srcDateTime == 0 then return 0 end if type(srcDateTime) ~= 'string' or string.len(s
2020-10-12 13:02:56 904 1
原创 【Unity】动态修改 Button 高亮,按下的sprite
1.首先要切换按钮的 Transition 为 SpriteSwap2.拖拽实现3.代码控制c#:public Button button; public Sprite normalSprite; //正常显示图片 public Sprite highlightedSprite; //高亮显示图片 public Sprite pressedSprite; //点击显示图片 public Sprite disabledS
2020-09-27 12:36:35 6139
原创 【Unity】数字滚动效果
原理:利用DoTween实现数字滚动添加的效果 public Text text; public int type; public void IncreaseAnim(int startValue, int targetValue) { var se = DOTween.Sequence(); se.Append(DOTween.To(delegate (float value) { var temp
2020-09-05 15:38:20 2655
原创 【功能】InputField 输入框——搜索筛选功能
制作搜索框 ,首先你需要获取 InputField 组件 (ECS 文化)self.search.inputField.onEndEdit:AddListener(function () --监听执行end)结束编辑的时候,执行,在Unity中,你可以在输入内容后回车(或点击输入框外屏幕内的任意地方),执行你的需求,OnValueChange 的同样适用,这边测试的是OnEndEditso, 你可以选择适用于自己的。...
2020-06-01 19:58:29 1619
翻译 Text 横向滚动——跑马灯效果
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;[RequireComponent(typeof(Mask))]public class TextScroller : MonoBehaviour{ public float deltaLength = 200f; public float scrollSpeed = 1f; .
2020-05-27 14:02:24 468
原创 【新手引导】Image 的渗透事件
初试.... 方法一:新手引导类的渗透事件,用于判定在Mask的遮挡下,监听到点击,执行Mask下方的事件,最后以达到渗透的目的。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class NewBieGuide : MonoBehaviour , ICanvasRaycastFilter{ //需要渗透的目标..
2020-05-27 10:22:42 328
原创 [小计]动态修改Canvas的OrderInLayer
无论是在lua还是C#中,首先因该获取到当前Canvas的组件或许你已经尝试了 .orderInLayer,进行赋值,可结果是什么呢,自己测下就晓得了so...self.bg:GetComponent("Canvas").sortingOrder = 5
2020-05-18 13:12:26 1582
翻译 Json 数据解析小计
读取配置表i信息:private void LoadDefaultConfig(){ TextAsset binAsset = ResourceMgr.LoadConfig("Config/Default", typeof(TextAsset)) as TextAsset; string[] lineArray = binAsset.text.Split(...
2019-11-28 11:24:45 195
原创 使用ADB 工具查看Log信息
首先肯定是需要配置环境变量啦....找到你的SDK ,这两个位置下边需要用哦...打开计算机配置环境变量面板,系统变量下点击新建变量名 android变量值 刚让找到那两个路径,中间用英文分号隔开点击 Path 系统变量中添加 %android%运行终端,输入adb 回车配置成功... 运行android Bug 调试桥....下面就可以自由的玩耍...
2019-10-24 17:27:38 644
原创 Unity中文件写入示例
获取某个文件的MD5码,获取后创建一个 Txt文本并将MD5码写入嗒嗒嗒... void Start () { StartCoroutine(InitGame()); } IEnumerator InitGame() { dataPath = Application.streamingAssetsPath + "/Android.m...
2019-09-03 16:04:48 1411
原创 Unity针对文件进行MD5码校验
工程案例小计。。。每一个文件都有对应唯一的MD5码,是吧,甭叨叨,说正事儿...... IEnumerator InitGame() { dataPath = Application.streamingAssetsPath + "/Android.mp4"; info = GetMD5HashFromFile(dataPath); ...
2019-09-02 12:18:44 2448
原创 Inspector 面板小计
适用对象:需要在Editor状态下编辑一些参数之类的东东using UnityEngine;using System.Collections;using UnityEditor;//typeof中的参数即为我们需要定义Inspector面板的组件(脚本)[CustomEditor(typeof(DemoTestScript))]public class TestCustomE...
2019-08-20 14:39:46 121
原创 Scroll View 实现屏幕自适应
Scroll View 下创建子物体,实现整体跟随屏幕的大小改变而改变,即屏幕自适应... (填坑中。。。)首先需要设置Canvas的属性看,Screen Match Mode 这个属性是不是很骚啊,一般不会注意到(好吧,我承认只有我才会这么粗心...)Match Width Or Height 适用于你的屏幕分辨率和你的参考分辨率不匹配时采用,你的Canvas会同时考虑到宽高...
2019-07-25 19:11:53 1662
翻译 U3D 中 Image的渐变加载
啦啦啦,啦啦啦,最近项目中可能有这个新的需求,碰巧今天遇到一大佬分享的博客....略微有些小的改动诺...private List<Sprite> storeTexture; public Image logo; private Sprite texture; public void Start() { storeTexture...
2019-06-28 17:55:15 643
原创 Lua中使用string.gsub 替换函数
c#中可以使用replace来进行替换操作,那么在Lua中同样会使用到替换strirng.gsub(参数一,参数二,参数三)参数一:需要替换的元素所在的字符串参数二:被替换的东东参数三:替换为什么东东string.gsub(itemConfig.ItemDesc, "\\n", ":")local str = "我是一只小菜鸡\n说的很有道理"local temp =...
2019-04-27 17:33:41 9878
原创 Lua中使用string.sub方法截取某段中文
在Lua中使用string.sub() 截取某段中文一个汉字占3个字符,所以在使用的时候需要注意info = "我是小菜鸟"local str = string.sub(info,index,endIndex)-- info 字符串信息--index 开始截取的字的索引--endIndex 结束时的索引print(string.sub(info,1,6))--我是...
2019-04-23 12:51:08 27100
翻译 Unity属性扩展示例
看到大牛的分享,尝试操练一波...1.SerializeField 序列化字段 /// <summary> /// 鼠标放到属性上会显示提示 /// </summary> [SerializeField, Tooltip("姓名")] string name;2. /// <summary>...
2019-04-19 17:36:45 617
原创 DisallowMultipleComponent 使用
首先从字面意思大家就可以看得出,嗯,是吧...不允许添加多个组件....那么我们来说说她的使用,注意:是她 是她 是她哦...这个可以理解为编译时的一个标签[DisallowMultipleComponent]public class UIWarpContent : MonoBehaviour {}使用她能够很好的避免在未知的情况下重复的添加组件,可见那个她的重要性....
2019-04-19 16:35:33 3649 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人