c#
worthgod
关注我的码云:怒神
展开
-
c# 的正则运算[小窍门]
c# 的正则运算在需要执行正则运算时,需要在开头加入命名空间:using System.Text.RegularExpressions;//正则表达式空间使用范例: const string pattern1 = @"^[0-9]*$"; const string pattern2 = @"^[A-Za-z]+$";原创 2017-03-16 10:47:54 · 309 阅读 · 0 评论 -
unity 优化 Drawcall、gc方向
优化的方向UI的优化 场景物件的优化 优化手段2.1 UI优化2.1.2 资源管理资源的筛检,将出现在同一个UI上的图,将标签写成一个,打图集时,这些资源会出现在同一图集。 图集还有个特性,会将标签中带有同种透明通道的作为1个图集,其他的会额外打入一个分包图集。 (这里资源就尽量要求带有同种透明通道属性,会在UI排序时要考虑这种因素)。 将所有需要打包成图集的资源放入Res...原创 2018-09-14 15:29:49 · 384 阅读 · 0 评论 -
c++编写dll给unity使用的禁忌,小记
1.c++编写dll给unity使用的禁忌; 返回值不能是字符串,char*,获取其它的, 这样会搞死unity的内存。正常写法:.h文件#ifdef DLL1_EXPORTS#define NDDATASDK_API extern"C" _declspec( dllexport )#else#define NDDATASDK_API extern"C" _declspec(...原创 2019-04-16 14:10:37 · 334 阅读 · 0 评论 -
c++ 与c#之间的字符串传递
1.方法中不要直接返回字符串,防止内存崩溃。c++写法:void necall(char* str1, char* outdata) { strcpy(outdata, str1);}outdata 为导出数c#写法: [DllImport("testdemo")] private static extern void necall(string ...原创 2019-04-18 18:36:08 · 3936 阅读 · 2 评论 -
to byte[] save PNG
//1.to byte[] publicstaticbyte[]RawSerializeEx(objectanything){intrawsize=Marshal.SizeOf(anything);byte[]rawdatas=newbyte[rawsize];...原创 2019-05-08 15:23:10 · 249 阅读 · 0 评论 -
开发库常见问题
ios篇1.unity导出xcode工程时,buildxx,避免真机调试的错误2.有些framwork的导入需要编写代码自动导入,或者 写pod文件,podfile,切换到相应目录,pod installc++篇1. 所有的库需要编写的vs版本一致,否则报错2. 运行库也要一致都是 md3. 注意包含头文件4.注意链接器的lib要写5.注意链接器的地址要对...原创 2019-05-08 15:25:31 · 170 阅读 · 0 评论 -
微信,qq,微博分享流程注意事项
1.分享关系图2.问题罗列本次官网提供的下载链接格式未达到微博分享的要求,导致审核延期。(3月1号审核通过,分享功能才能生效)导致审核被拒和延长的原因:A.下载链接未按规定制作,B.产品名字以及相关信息更正会有平台延期。分享出现的默认显示图需要额外制作,图采用了之前的图,导致分享出现的默认图有差异。 内网分享失败的原因,为服务器传回机制有关(用户无法...原创 2019-05-08 15:29:48 · 359 阅读 · 0 评论 -
unity EventTrigger的妙用-点击式的slider
EventTrigger的妙用:1.1 使用情景在开发过程中,遇到slider的value改变有2种情形;一种是通过数据改变slider的value(及UI显示),这种有时候受限代码流程,出现不需要去响应slider的onvaluechange事件;另一种是用户主动点击slider的ui,这时需要去调用onvaluechange事件,执行后续的流程。我们就需要精准的判断用户...原创 2019-07-10 14:01:35 · 1392 阅读 · 0 评论 -
sharerec 视频录制踩坑日记
踩sharerec 大坑 坑 坑sharerec 内置直接引用主active的方式就不说了,其它如androidstudio 版本引起的错误1.sharerec虽然设置了很多分辨率,但是有几个就不行,测试了一下480*320, 果断寒心2.sharerec 版本越高不一定越对,举个例子官方最新的sdk,里面有明显的代码错误,,明显!!!! onrenderImg 与OnrenderI...原创 2019-07-10 14:07:13 · 456 阅读 · 0 评论 -
unity中文乱码问题
/// <summary>/// UCS2编码/// </summary>/// <param name="src"> UTF-16BE编码的源串</param>/// <returns>编码后的UCS2串 </returns>public static string EncodeUCS2(string s...原创 2019-07-10 14:32:57 · 1285 阅读 · 0 评论 -
unity根据文字内容获取文本框尺寸
///unity根据文字内容获取文本框尺寸public static int GetFontLen(Font font,int fontsize, string str){int len = 0;font = Font.CreateDynamicFontFromOSFont("Arial", fontsize);font.RequestCharactersInTexture(s...原创 2019-07-10 14:34:39 · 1557 阅读 · 0 评论 -
unity 文件路径有空时的处理
///当路径有空的时候的处理方式 privatestringGetUncode(stringsrc){stringoutStr="";Regexreg=newRegex(@"(?i)\\[uU]([0-9a-f]{4})");outStr=reg.Repl...原创 2019-07-10 14:35:09 · 449 阅读 · 0 评论 -
【C#】枚举和字符串以及数字之间的互相转换
准备条件:①枚举类型:1 public enum enumColor 2 { 3 Red = 1, 4 Yellow, 5 Green, 6 Blue, 7 White, 8 Black 9 }②以下状态都是理想状态,并未对错误数据进行处理。1.枚举类型转换为字符串private string EnumConvertToString(enumColor col...转载 2019-07-10 14:36:06 · 616 阅读 · 0 评论 -
unity 十大巨坑
先写4个,后面补充。1. 传说中的Dropdown, 干死你的事件机制。 如果 Dropdown在展开模式下,删除了这个dui'对象,你会突然fa发现你的UI再也点不动了,unity事件be被干死。 怎么解决呢,Dropdown对象要被删除,你先close一下。 2. 我牛逼,我用远程编代码。。。然后。。。。 为啥我的 float dx = Input.Get...原创 2018-08-17 22:07:07 · 656 阅读 · 0 评论 -
texture镜像,高效率处理
看到网上有很多处理texture图像的办法,是逐像素ch处理 以上效果的却能够翻转。。 但我只能说这种方法很坑爹,大量大量运算会占用cpu耗时,如果需要实时处理tu'x图像,这种办法可以卡爆你的电脑。。既然想到计算,为什么不利用GPU呢, GPU才是计算的达人。说到GPU的处理,我们会想到shader。。废话不多说。 直接上代码c#成眠 ...原创 2018-08-01 12:10:43 · 875 阅读 · 0 评论 -
分享一个好算法
0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。 0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,而a=b,排序之...转载 2018-06-11 16:21:28 · 674 阅读 · 0 评论 -
获取字符串的像素长度
public float GetPixelByStr(string str){ float pixel = 0; for (int index = 0; index { float tempPixel = m_text.cachedTextGenerator.GetPreferredWidth(原创 2017-03-16 10:49:46 · 1331 阅读 · 0 评论 -
添加一个管理器
/// /// 添加管理器 /// public void AddManager(string typeName, object obj) { if (!m_Managers.ContainsKey(typeName)) { m_Managers.Add(typeName, obj);原创 2017-03-16 10:52:30 · 302 阅读 · 0 评论 -
c# uint[]和int[] 转 byte[]的几种方式
uint[] UintArraybyte[] ByteArray1.最坑爹的for循环转 for(int i = 0;i ByteArray[i] = (byte)UintArray[i] }2.方式ByteArray = Array.ConvertAll(UintArray, new Converter(PointFToPoint原创 2017-03-16 13:43:17 · 9359 阅读 · 1 评论 -
unity 与第三方库的交互
前端时间整理朋友的开发笔记,突然发现这个有趣的资料,可以分享给大家原创 2017-06-29 10:10:38 · 2809 阅读 · 0 评论 -
Unity3D Computer Shader 实例讲解
前端时间 做一个unity内部的视频录制工具,每帧需要对图片进行处理,因为图片是逐像素处理,这里的运算量比较大;我就利用GPU运算数据速度快的特性对图像进行处理。Unity3D Computer Shader 是unity的GPU运算的方式之一,computershader在网上的资料偏少,下面我将对computershader的研究发布。1.CPU与Computer原创 2017-06-29 10:37:42 · 3026 阅读 · 0 评论 -
unity正方体变平行四边形
啥都不说,直接上代码using System;using UnityEngine;using System.Collections;using UnityEngine.UI;[ExecuteInEditMode]public class testmesh : Image{ [SerializeField] public float Offse原创 2017-06-29 10:51:02 · 1804 阅读 · 0 评论 -
服务器学习笔记
xshell 下的linux命令pwd 查看路径aria2c -s 5 下载链接地址 开迅雷模式下载 5个线程sudo apt-get update 更新unbuntu 的源cd /home/ 切换到home路径 mv opencv-3.2.0.zip /home/ftp/ 移动 安装包到固定路径ls 查看路径原创 2017-06-29 10:52:41 · 231 阅读 · 0 评论 -
一种取byte[]数组内存地址的方式
_readBuffer = new byte[bufferLength * _numChannels * numBuffers * BufferSize*10]; _bufferHandle = GCHandle.Alloc(_readBuffer, GCHandleType.Pinned);System.IntPtr a = _bufferHandle.AddrOfPin原创 2017-06-29 10:54:00 · 1864 阅读 · 0 评论 -
当路径有空的时候的处理方式
private string GetUncode(string src) { string outStr = ""; Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})"); outStr = reg.Replace(src, delegate (Match原创 2017-06-29 10:54:57 · 347 阅读 · 0 评论 -
音频的录制逻辑(外部麦克风)
#region 音频的录制逻辑 private AudioClip mAudioClip; private int audioLength; private int maxRecordTime = 10; private int samplingRate = 12000; /// ///原创 2017-06-29 10:56:26 · 597 阅读 · 0 评论 -
unity的assetbundle加载
最近在写assetbundle的编辑器,顺便写了一下unity的资源管理器。研究了一下王者农药的热更新机制,发现它的首页动画界面也可以热更新,但是这个时候才在启动进度条界面。猜想了1下,他的资源加载路径是变化的。优先加载缓存,发现缓存没得就加载包。下次重新进入游戏,因为新数据已经down下来了,这个时候是直接加载缓存,就会发现初始动画改编了。这里就需要动态设置加载路径。说跑原创 2017-12-04 17:42:06 · 323 阅读 · 0 评论 -
框架无缝对接Tolua实现ab加载的方法
源码地址:https://gitee.com/warthGod/GameFrameworkForTolua.git1. 目的:编辑的便利性,减少build的步骤,lua文件自加载编辑窗口依然是lua文件 2. 启动build时,无需要做额外工作:3. 这种方式不利于热更新,而且常驻内存了。4. 真正的热更新是由lua去告知程序加载那些lua脚本 解决方法:1. AssetBundleEdito...原创 2018-05-07 15:58:54 · 1089 阅读 · 0 评论 -
MicroPhoneInput 自动判定音源录入+百度音频录入的问题
需求: 进入音频录制状态,麦克风一直处于打开(录制状态); 只有当真实收到外部音源时(比如有人说话);才开始将这段音频作为真实录制的音频; 当没人说话2s,就截取这段音频作为有效音频发布出去。(模仿实时流音频的发送)1. 百度语音翻译和语音控制。 要求是一段音频流传上去进行处理,这个时候麦克风处于打开,不需要用户去点按钮录制;自动判定有效音频发送。2.这里就需要用到...原创 2019-08-09 19:19:24 · 838 阅读 · 0 评论