- 博客(12)
- 资源 (6)
- 收藏
- 关注
原创 如何实现自定义绘制Winform的TreeView并且实现多选
自定义绘制背景,节点字体,树节点后面加按钮,自定义展开节点样式。效果如下:同时选中节点5和节点6下的Tree先设置TreeView的DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;然后请参考实例工程链接:https://download.csdn.net/download/qq_35231953/13666390...
2020-12-14 10:25:13 1870
原创 UGUI实现text渐变色(通过自定义富文本标记实现)
之前分享过一个通过添加组件实现渐变色的文章,但是通过组件实现有一个弊端,他只能设置整个文本渐变,不能只设置一段文字渐变。今天分享一个通过正则匹配自定义的富文本标记来实现渐变色的方法,这样的好处就是比较自由。自定义的渐变色标记:<gradient></gradient>内部属性:top :顶部颜色bottom :底部颜色effect :阴影颜色distance :阴影偏移举例:<gradient top=#00FF00FF bottom=#FFFF00FF ef...
2020-07-06 11:29:09 1832 2
原创 Lua高级应用
一、lua数据结构及内存占用分析1.基础数据结构lua的基本数据表示是type+union的方式,根据不同类型映射到union的不同结构上面,统一的表示结构lua_TValue:typedef union Value { GCObject *gc; /* collectable objects */ void *p; /* light userdata */ int b; /* booleans */ lua_CFunction f; /* l
2020-07-04 12:21:01 1449
原创 UGUI 实现Text渐变色(通过添加组件实现)
今天说的这种渐变色实现方法核心思路就是给顶点着色。另外还加上了显示阴影的功能。直接上代码顶点的顺序不知道的可以看我另一篇文章《UGUI显示顶点》中第二节 顶点顺序https://blog.csdn.net/qq_35231953/article/details/106941108using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class GradientTextShadow2
2020-06-24 15:28:34 906
原创 OutLine源码解析 -- 为什么要尽量避免使用OutLine
相信很多人在刚入职Unity的时候都被告诫过尽量避免使用OutLine,只知道它很费性能,但是很多人并不知道它为什么很费性能。今天通过源码来探索一下。首先看一下OutLine.cs里的源码public override void ModifyMesh(VertexHelper vh){ if (!IsActive()) return; var verts = ListPool<UIVertex>.Get();//这里的列表使用了对象池,减少消耗
2020-06-23 14:35:25 1351
原创 C# 常用的文件IO操作
一、IO流注意:路径有3种方式,当前目录下的相对路径、当前工作盘的相对路径、绝对路径。以C:\Temp\Directory为例(假定当前工作目录为C:\Temp)。“Directory”,“\Temp\Directory”,“C:\Temp\Directory”都表示C:\Temp\Directory。另外,在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\”。所以上面的路径在C#中应该表示为“Director
2020-06-23 10:49:30 2750 1
原创 C# Winform开发教程
1.创建新的Winform工程打开VS新建窗体应用就可以了,起个名字,设置路径创建完毕后,会有一个Program.cs的脚本文件,这里的Main为入口函数。2.窗体编辑单击顶条区域,右侧弹出对应的属性栏。接下来只介绍几个常用的设置,其他各位可以自行去了解。窗口样式 -> Icon:设置工具的icon。窗口样式 -> MainMenuStrip:关联右键菜单(右键菜单的使用后面详解)。设计 -> Name:本工具的脚本名(Program)...
2020-06-22 20:56:44 34667 6
转载 C#/.Net 的托管堆和垃圾回收
1、托管堆基础资源包括包括:文件、内存缓冲区、网络连接等。以下是访问一个资源所需的步骤:调用IL指令newobj,为代表资源的类型分配内存(一般使用C# new操作符来完成)。 初始化内存,设置资源的初始状态并使资源可用。类型的实例构造器负责设置初始状态。 访问类型的成员来使用资源(有必要可以重复)。 摧毁资源的状态以进行清理。(为了简化编程,开发人员经常使用的大多数类型都不需要这个步骤)。 释放内存。垃圾回收器独自负责这一步。2、托管堆分配资源CLR要求所有对象都从托管堆分配。进
2020-06-19 11:48:42 360
原创 Unity:内存管理、GC优化
一、GC简介在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。Unity中将垃圾回收当作内存管理的一部分,如果游戏中废弃数据占用内存较大,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点。1.Unity内部有两个内存管理池:堆内存和栈内存堆内存(heap) 主要用来存储较大的和存储时间较长的数据,主要是负责程序中的对象和.
2020-06-19 11:30:25 2294
原创 正则表达式详解 + C#和TypeScript示例
之前学正则表达式的时候发现很多帖子讲的都不详细,所以东拼西凑找了很多帖子。在这里总结一份自认为比较详细易懂的笔记供大家参考一、元字符元字符 说明 举例 . 匹配除换行符以外的任意字符 .abc => aabcdef 、 6abcww \w 匹配字母或数字或下划线或汉字 \w3 => b3df 、 333aad3kk \s 匹配任意的空白符 a\sb => sss...
2020-06-18 16:43:09 2001
Winform自定义绘制TreeView及实现多选功能
2020-12-12
【网络编程】TCP详解
2018-04-26
【达内Unity学习笔记】超级详细,极为适合初学者
2018-04-14
【达内】最详细的Unity学习笔记,自学必看
2018-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人