自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 Lua学习

require("") 或 require ""

2023-07-12 17:34:14 870

原创 C#进阶学习

本质:

2022-10-20 13:57:38 158 1

原创 MVC框架学习

是模型-视图-控制器的缩写;是一种软件设计规范,用一种业务逻辑、数据、街面显示分离的方法来组织代码。全名:Model View Controller。

2022-10-20 13:43:43 127

原创 抽象类和接口的区别

相同点: 区别:

2022-10-20 13:36:41 82

原创 静态static

静态成员的特点:作用:

2022-10-19 17:37:42 129

原创 析构函数和垃圾回收机制GC

【代码】析构函数和垃圾回收机制GC。

2022-10-19 14:19:45 336

原创 递归函数理解

2、用于条件判断的条件,必须能够改变以达到停止的目的。1、必须有结束调用的条件。定义:函数自己调用自己。

2022-10-19 09:54:12 51

原创 ref和out作用

作用:解决值类型和引用类型,在函数内部改值或者重新new,能够影响外部穿入的变量,进行同步修改。使用:在申明参数或者使用的时候,前面加上ref或out。out传入的变量不用初始化,但在方法内部必须赋值。ref传入的变量必须初始化,方法内部随意。

2022-10-18 16:55:57 78

原创 C#面向对象

继承:基于父类进行扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法,也可以增加原来父类所不具备的属性和方法,或者之间重写父类中的某些方法。protected:只有子类才能访问protected成员。多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。封装:通过类将对象的属性和行为封装起来。

2022-10-12 21:21:56 51

原创 简单工厂模式

常用设计模式

2022-06-01 16:29:14 51

原创 SDK和API比较

研发人员A开发了软件A,研发人员B正在研发软件B。有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!其中,API就是研发人员A说的那个函数。有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功.

2022-05-19 10:37:58 88

原创 虚方法和抽象方法

虚方法:在基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,是为了实现多态性。抽象方法:abstract,子类继承抽象类,需要override抽象类中的抽象属性和抽象方法,如果有未override的,则子类也必须为抽象类。注意:1、抽象类中的抽象属性和抽象方法必须是公有的,必须有public2、字类必须override抽象类中的所有抽象属性和抽象方法,如果没有全部override,则字类必须是抽象类。3、抽象类中可以有非抽象的属性和方法,也可以是私有的,但是私有的话子

2022-04-08 10:18:25 973

原创 C#的反射,通过反射调用类中的方法

从一个对象的外部去了解对象的内部构造,.NET中的反射可以实现从对象的外部去了解对象(程序集)内部结构的功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中的反射还可以运态创建出对象并执行它其中的方法。可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如指掌。另外我还可以直接创建对象,即使这个对象的类型在编译时还不知道。...

2022-04-08 09:48:29 1651

原创 程序员防止痴呆

数回 - 在线解谜游戏程序员防止痴呆程序员防止痴呆程序员防止痴呆程序员防止痴呆程序员防止痴呆

2022-03-22 19:04:22 3330

原创 委托——Action委托和Func委托

委托:代购private delegate void Buy();//定义想委托的事情——买东西public static void DaiGou()//委托方——代购方{ Debug.logError("我是代购的!");}Buy buy=new Buy(DaiGou);//与代购方进行联系buy();//通过代购购买Action:不用定义委托//不带参数的Action委托Action buyAction=new Action(DaiGou);//创建一个Action委

2022-03-14 17:43:16 926

原创 面向对象的好处

可维护、可复用、可扩展、灵活性好。联想活字印刷。通过封装继承多态降低程序的耦合度。封装:将业务逻辑与界面逻辑分开,将封闭的逻辑单独建个类或者方法。

2022-03-03 11:10:34 140

原创 Dll存放路径及文件夹

Library\ScriptAssemblies

2022-02-21 16:34:41 3321

原创 .asmdef和.dll

目的:可以完成程序集的定义,脚本过多时进行规范,节省后台编译脚本的时间。将脚本项目分成具有明确定义的依赖关系的多个程序集,确保在脚本中进行更改时,仅重建所需的程序集。

2022-02-11 15:35:55 478

原创 屏幕后处理效果——调整屏幕的亮度、饱和度和对比度

屏幕后处理(screen post-processing effects):在渲染完整个场景得到屏幕图像后,再对这个图像进行一系列操作。OnRenderImage:得到渲染后的屏幕图像。sre:将当前渲染得到的图像存储在第一个参数对应的源渲染纹理中。dest:通过函数中的一系列操作,将目标渲染纹理显示到屏幕上。MonoBehaviour.OnRenderImage(RenderTexture src,RenderTexture dest);Graphics.Blit:在OnRende

2021-12-30 17:17:43 509

原创 程序运行过程

编译器的任务:生成能够在计算机上运行的代码。编译时:编译器将源代码翻译成机器能识别的的代码。运行时:代码运行。有待补充。

2021-12-29 10:48:19 108

原创 C#常量和变量

常量和变量都是用来存储数据的容器,定义时需要指明数据类型。常量分两种,分别是readonly(运行时常量)和const(编译时常量)。readonly:程序运行时进行赋值,赋值完成后无法更改。const:程序编译时对常量进行解析,并将所有常量引用替换为相应值。public static readonly int A=2;public const int B=3;//默认为静态变量,无需static修饰,否则会报错,需声明时初始化。void add(){ int C=A+B;

2021-12-29 10:41:50 229

原创 天气系统参考

Volumetric Fog & Mist / Dynamic Fog & Mist / Volumetric Lights

2021-12-29 10:07:05 145

原创 顶点着色器和片元着色器之间进行通信

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Custom/FirstSimpleShader"{ SubShader{ Pass{ CGPROGRAM #pragma vertex vert//告诉Unity哪个函数包含了顶点着色器的代码,哪个函数包含了片元着色器的代码 #pragma fragment frag //使用一个结构体来定.

2021-11-22 11:52:25 2381

原创 结构体和类的区别

待整理。

2021-11-22 11:37:05 283

原创 一个简单的顶点/片元着色器

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Custom/FirstSimpleShader"{ SubShader{ Pass{ CGPROGRAM #pragma vertex vert//告诉Unity哪个函数包含了顶点着色器的代码,哪个函数包含了片元着色器的代码 #pragma fragment frag //使用一个结构体来定.

2021-11-22 11:07:20 2618

原创 模型的UV坐标

待学习。

2021-11-22 10:49:05 280

原创 Unity Shader的形式

简述: Unity Shader能做的事很多(例如设置渲染状态等),但最重要的是指定各种着色器所需的代码。这些代码可以写在SubShader语义块中(表面着色器),也可以写在Pass语义块中(顶点着色器/片元着色器和固定函数着色器的做法)Shader "MyShader"{ Properties{ //所需的各种属性 } SubShader{ //真正意义上的Shader代码会出行在这里 //表面着色器(Surface

2021-11-18 11:44:37 2675

原创 UML&&思维导图

Flowchart Maker & Online Diagram Software

2021-10-28 15:11:21 148

原创 Unity Shader的结构

Unity Shader是Unity为开发者提供的高层级的渲染抽象层。ShaderLab是Unity提供的编写UnityShader的一种说明性语言。UnityShader基础结构Shader "ShaderName"{ Properties{属性} subShader{//显卡A使用的子着色器} subShader{//显卡B使用的子着色器} Fallback "VertexLit"}UnityShader的结构设置名字及材质面板位置:...

2021-10-28 14:42:25 1235

原创 Unity双击执行

if (Input.GetMouseButtonDown(0))//双击删除 { if (hasClick&&lastClickTime<0.5f) { DeleteCurrentPoint();//需要执行的逻辑 } hasClick = true; if (hasClick) ...

2021-10-27 10:55:00 78

原创 C#进行测距

public class HA_RangingDisplayer : HotFixCompDisplayBehavior{ #region 成员 private bool m_IsUpdate = false; private SfChartShellLayout m_Shell; private HA_RangingStyle m_Style = null; private HA_RangingData m_Data = null; private R.

2021-10-19 10:40:11 303

原创 时间复杂度和空间复杂度

拧一个螺母,扳手和钳子都可以,但用扳手效率更高。所以我们要选择最合适的解决方法,即算法。时间复杂度和空间复杂度是用来衡量一个算法的运行效率。算法首先要能彻底解决这个问题,即准确性,且能任何情况下能稳定运行不崩溃,即健壮性。满足这两者的基础上,尽可能提高程序的运行效率:1.程序运行的时间:时间复杂度。2.程序运行所需内存空间的大小:空间复杂度。程序运行时间更短,运行期间占用的内存更少,算法的运行效率就更高。时间复杂度:表示一个算法所编程序的运行时间,但不是准确值(受软硬件甚至是

2021-10-09 11:33:56 89

原创 2021-10-09

Shader - Shadertoy BETAhttps://www.shadertoy.com/view/tsKXR3一个神奇得shader世界!

2021-10-09 10:03:37 33

原创 C#泛型(Generic)

泛型:编写一个可以与任何数据类型一起工作的类或方法。延迟确定数据类型,直到实际在程序中使用它的时候。泛型类: public class MyGenericArray<T> { private T[] array; public MyGenericArray(int size) { array = new T[size+1]; } public T getItem(i.

2021-09-23 10:49:17 99

原创 常更常新——VS快捷键

Ctrl+M+O:折叠所有方法 Ctrl+M+M:折叠或者展开当前方法 Ctrl+M+L:展开所有方法 Ctrl+G:转到指定行 Ctrl+Tab:切换窗口 Ctrl+J/Alt+you:智能提示 #region:用来注释中间代码 的作用 而且在其他地方用到中间的类和方法 都会有你标注的注释 本身不参与编译 还可以缩进代码方便阅览折叠代码。 ...

2021-09-22 16:38:10 62

原创 坐标转换,屏幕坐标转UI坐标

private Vector3 WorldPointToUILocalPoint(RectTransform parent, Camera camera, Vector3 mousePos) { Vector2 localPoint; RectTransformUtility.ScreenPointToLocalPointInRectangle(parent, mousePos, camera,out localPoint); return ...

2021-09-22 16:15:19 157

原创 哈希表——HashTable

using System;using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;public class HashTableAndDictionaryTest : MonoBehaviour{ void Update() { if (Input.GetKeyDown(KeyCode.A)) { .

2021-09-22 11:24:47 98

原创 Unity UGUI 不规则图片点击

代码很简单:实现接口 IPointerClickHandler,实现点击监听。 设置图片的 alphaHitTestMinimumThreshold = 0.1f;注意:需要打开图片的Read/Write Enable。(单击图片即可看到) 如果透明区域占比较大,需要将图片的Mesh Type设置为FullRect。using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class A

2021-09-13 15:06:38 149

原创 抽象类和抽象方法

解决实际问题时,一般将父类定义位抽象类。语法格式:访问修饰符 abstract class 类名:基类或接口{ //类成员 }除abstract、class、和类名外,其他的都是可选项以abstract关键字定义的类称为抽象类,以abstract定义的方法称为抽象方法。 抽象方法没有方法体,本身没有任何意义,除非被重写。 声明抽象方法时,不能使用virtual、static和private修饰符 抽象类除了被继承外没有任何意义。 只要类中有一个...

2021-09-08 14:48:36 211

原创 Dotween

using MEHotFixComp;using System;using TMPro;using UnityEngine;using EventManager;using DG.Tweening;public class FCG_ChangeOptionsDisplayer : HotFixCompDisplayBehavior{ #region 成员 private bool m_IsUpdate = false; private SfChartShellLayout m_She.

2021-09-08 10:16:51 105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除