C#
烫青菜
如果世界漆黑,其实我很美
展开
-
Unity | 微信分享链接到好友及朋友圈(Android端)
一、准备工作:1. 获取ShareSDK:登录Mob官网,下载ShareSDK(点击右上角“SDK下载”按钮,进入SDK下载页,选择“其他”,下载Unity3D平台的ShareSDK插件:New-Unity-For-ShareSDK-master)2. 获取项目AppKey及AppSecret:点击右上角“产品中心”,进入“开发者平台”,点击“创建应用”,添加LOGO,输入名称,选择“...原创 2020-02-18 19:56:10 · 2172 阅读 · 0 评论 -
Unity | 解决引入插件后打包时提示sdk不一致的问题
最近做的一个项目中遇到了屏幕录制的需求,我使用了Natcorder插件,关于插件的使用总结下一篇博客再写,先说说打包遇到的问题,如下图:大致意思就是说当前项目NatCorder库使用的最低版本sdk不能低于23,而我当前才16,那么如何解决呢?并没有多么复杂,设置File->BuildSetting->PlayerSetting->Minimum API Level大于...原创 2020-02-15 16:08:49 · 1190 阅读 · 0 评论 -
Unity | AssetBundle资源包的加密与解密(AES加密)
一、恺撒加密可以点击进行学习;二、AES加密: private static string KEY = "123456_abcdeABCD"; private static string IV = "123456_abcdeABCD"; private IEnumerator AES_EncryptionAB() { WWW www = ...原创 2020-01-15 15:34:03 · 5254 阅读 · 0 评论 -
Unity | 使用JsonUtility解析Json
一、使用注意事项:被转换的对象必须是可被序列化的,需要标记[System.Serializable] 属性; JsonUtility.FromJson 方法只能接受 json 对象,如果是 json 数组会提示错误: JSON must represent an object type。二、要解析的Json数据:{ "stat": 1, "status": 1, "msg":...原创 2020-01-10 16:37:54 · 2582 阅读 · 1 评论 -
Unity | AssetBundle资源包的加密与解密(恺撒加密)
一、创建预制体:用Sphere与Cube临时创建了一个物体,就叫Sphere吧;二、将这个预制体Sphere打包成assetbundle包,具体介绍可点击这里进行参考(是我之前写的文章);选中Sphere预制体,设置AssetBundle名称为myab; 点击Unity菜单栏AssetBundle/AssetBundle_Window按钮。附上本次打AB包的相关代码(此代码需要放在Edi...原创 2020-01-08 20:43:01 · 5515 阅读 · 1 评论 -
Unity | 获取两个时间之间的间隔
最近的项目中要加一个功能:隔三天检测一下版本是否为最新,那么我们如何获取这个时间差呢?通过三行代码便可求出两个时间之间的间隔: string lastTime = "2020/1/1 00:00:00"; DateTime nowTime = DateTime.Now; TimeSpan span = nowTime.Subtract(Dat...原创 2020-01-07 19:43:58 · 5240 阅读 · 0 评论 -
Unity | Vuforia物体识别
一、准备工作:(我用的是Unity2018.2.15)1. Unity3D:如果在Unity场景中层次面板下创建不了Vuforia的相关物体(如图1),那么需要安装Unity资源包下的Vuforia Augmented Reality Support(如图2): 图1 ...原创 2020-01-06 20:07:06 · 2434 阅读 · 1 评论 -
Unity | 打开文件对话框批量选择文件
之前在新浪博客写了一篇关于打开文件对话框批量选择文件的文章,可惜新浪博客不能写代码,奈何当时太年轻,并不觉得不方便,直到遇到CSDN...emmm,不想将就了,所以在这里更新一波,并补充其他的方法:原文的方法一1. 源码如下: System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.Op...原创 2019-12-25 20:51:28 · 3512 阅读 · 13 评论 -
Unity | 调用Windows颜色弹窗(方法二)
一、之前的调用Windows颜色弹窗(方法一)只能支持64位操作系统,32位不支持,所以提供下面这个方法,该方法有个不足是弹出的颜色窗口不能置顶(有实现了的大佬求留言相告)。二、需要用到的dll:System.Windows.Forms.dll(我用的是.Net 3.5,下载地址://download.csdn.net/download/weixin_39766005/11660884)三...原创 2019-12-25 20:05:45 · 753 阅读 · 0 评论 -
Unity | 获取屏幕工作区的大小
最近做的项目发布后要做自适应,最大化后要铺满全屏(不覆盖任务栏),那么就需要获取工作区的大小,代码如下:int width = System.Windows.Forms.SystemInformation.WorkingArea.Width;int height= System.Windows.Forms.SystemInformation.WorkingArea.Height;Deb...原创 2019-11-21 17:57:41 · 1008 阅读 · 0 评论 -
Unity | 计算执行某个函数使用的时间
System.Diagnostics.Stopwatch类:提供一组方法和属性,可用于准确地测量运行时间,通常用来测试代码在时间上的执行效率。Stopwatch sw=new Stopwatch();sw.Start();开启计时器。sw.Stop();关闭计时器。sw.Reset(); 重置计时器。using UnityEngine;public class Stop...原创 2019-11-21 17:03:22 · 2793 阅读 · 0 评论 -
Unity | 调用Windows颜色弹窗(方法一)
一、引入windows dll:public class DllScript{ [DllImport("comdlg32.dll", CharSet = CharSet.Auto)] public static extern bool ChooseColorA(ref CHOOSECOLOR pChoosecolor);//对应的win32API [DllImpo...原创 2019-10-29 20:13:33 · 1066 阅读 · 0 评论 -
Unity | WWW带头部的Post请求 以及 处理base64传输空格的问题
一、不带头部的Post请求:WWWForm form = new WWWForm();form.AddField("app_key", "********");form.AddField("img", "https://ai.xueersi.com/textRecognition/images/22.jpg");form.AddField("img_type", "URL");f...原创 2019-10-24 19:25:43 · 1483 阅读 · 0 评论 -
C# | 二维数组深入理解
public class NewBehaviourScript : MonoBehaviour { GameObject[][] gos = new GameObject[1][];//这个二维数组包含一个一维数组 GameObject obj; void Start() { //gos[0]就是一个一维数组,这个一维数组有一个元素 ...原创 2019-06-28 17:31:18 · 563 阅读 · 0 评论 -
Unity | 判断相邻的两个字符是不是都是汉字
最近的文字识别项目需要获取图片中一个汉字的宽度,这样以便于对文字中的空格进行排版。当前通过OCR文字识别获取到了每个字的x、y坐标数据,那么一个字的宽度便等于后一个汉字的x减去前一个汉字的x。但问题又来了,数字123与字母abc的宽度肯定小于一个汉字的宽度,那么便需要判断相邻的两个字符是否为汉字了。查看汉字的Unicode编码范围:https://unicode-table.c...原创 2019-06-28 18:15:40 · 533 阅读 · 0 评论 -
Unity |WWW 带头部的Get请求
最近的项目需要与服务器传输数据,请求的数据如下(并没有注意到“Header”标识,其实看到也不会多思考)因为之前也经常用WWW的Get请求,但只限于public WWW(string url);这个函数的运用,所以没有多加思考便洋洋洒洒写下了下面的代码: IEnumerator GetUserInfo(string token) { WWW getinfo ...原创 2019-08-08 18:08:08 · 2822 阅读 · 3 评论 -
C# | 通过Object创建一个Json数组数据
最近有大量的API要接入,而且大部分都不会有代码示例,只有json格式的请求体,如下:那么我们自己发送请求时,json数据一般需要自己通过代码动态实现,比如请求下面这个题库校对API,请求代码如下: private class Body { public List<Data> data; } private class Data...原创 2019-08-23 17:17:42 · 7726 阅读 · 0 评论 -
Unity|关于WWW要求使用JSON格式请求的POST请求
最近在接入百度AI文本纠错API,要求使用JSON格式的结构体来描述一个请求的具体内容。接入请求说明如下:代码如下:private class Body { public string text = "";}IEnumerator ErrorCorrection() { string apiKey = "自己的apiKey"; ...原创 2019-08-22 15:46:24 · 2452 阅读 · 0 评论 -
Unity|用一个PC端控制另一个PC端上两个程序的屏幕显示顺序
今天有点闲,有点闲,有点闲...然后我用一个小时做了一个小功能:用一个电脑A控制另一台电脑B中两个正在运行的程序在屏幕上的显示顺序,也就是点击电脑A中的按钮C,将电脑B中的程序C显示在屏幕最前方;点击电脑A中的按钮D,将电脑B中的程序D显示在屏幕最前方,如下图所示(上传图片限制大小,将就着看吧)【电脑A可以替换成手机,充当一个遥控的作用】用到的功能:局域网服务器、客户端通信;也可见文章...原创 2019-08-27 17:42:21 · 2905 阅读 · 15 评论 -
Unity|截图unity窗口之外的区域
一、效果图如下:二、使用的插件:dll3.5、4.x版本下载System.Drawing.dll; System.Windows.Forms.dll;因为是截取unity窗口之外的区域,(unity中的截屏都需要依赖摄像机)所以需要使用windows窗体。这里我们使用C#的一个Form实例(相当于一个窗体)来处理鼠标按下、移动、抬起这三种消息的响应。我们的函数应该继承System....原创 2019-09-18 15:44:56 · 1142 阅读 · 1 评论 -
Unity|利用Hook实现Unity窗口小化后的键盘输入监听
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到...原创 2019-09-18 19:50:22 · 2537 阅读 · 0 评论 -
Unity | 总结:OCR文字识别、公式识别
一、功能简介:最近在做一个项目:运用OCR文字识别、公式识别、手写英文识别等AI技术,当用户批量导入图片或者PDF文件时可快速识别为可编辑文本,该项目主要功能有:印刷体识别、手写英文识别; 公式识别:将公式转为LaTex格式; 历史记录功能; 文本查找、替换; 文本撤销、恢复; 绘制区域:进行部分区域识别; 左旋转、右旋转:导入的图片出现90°旋转时使用; 图片/文件删除(单...原创 2019-11-27 14:55:31 · 22964 阅读 · 19 评论 -
C#| this作用:为参数类型扩展方法
扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。 特点:静态类 扩展方法为静态方法 扩展方法第一个参数前加this;代码示例:两个扩展方法:ToInt():为float扩展方法; ChangeString():为string扩展方法。using UnityEngine;public...原创 2019-05-28 16:17:27 · 444 阅读 · 0 评论