自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

[hm]

这个人很酷 没什么好说的

  • 博客(34)
  • 收藏
  • 关注

原创 从面向对象思想上去理解抽象类和接口的区别

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间还是有

2017-06-02 15:55:41 757

原创 unity特殊文件夹

1.EditorEditor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor 和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放在这里,或者是一些编辑时用的DLL。 比如我们现在要做类似技能编辑器

2017-07-11 19:44:44 391

转载 主流数据库优缺点

MySQL 优点 mysql是一个快速、多线程、多用户的SQL数据库服务器。几乎是免费的,支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。   MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySql能很容易充分利用CPU。   MySql可运行在不同的操作系统下。简单地说

2017-07-11 19:21:24 3651

原创 vs常用快捷键总结

1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”; 2)前进到下一个光标位置:“Ctrl + Shift + - ”。 2.复制/剪切/删除整行代码 1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“Ctrl+C”来完成复制操作,而无需选择整行。 2)如果你想剪切一整行代码,只需将光标移至该行,再使用组合键“Ctrl+X”来完

2017-06-15 22:49:56 475

转载 Unity编程 欧拉角与万向节死锁(图文版)

目录(?)[+]万向节死锁Gimbal Lock问题陀螺仪PitchYawRoll陀螺仪的工作原理陀螺仪中的万向节死锁用小程序来重现万向节死锁问题死锁的过程解析总结建议 万向节死锁(Gimbal Lock)问题上文中曾经说过,欧拉旋转的顺规和轴向定义,自然造就了“万向节死锁”问题。本文主要来探索它自然形成的原因。陀螺仪首先,我们来了解Gimbal 究竟是个什么玩意儿。下面来自维基百科

2017-06-14 19:36:46 930

原创 Unity示例方法

Unity中查找对象的方法:通过GameObject找游戏对象 1) GameObject.Find() ; 2) GameObject.FindWithTag(); 3) GameObject.FindGameObjectWithTag(); 4) GameObject.FindGameObjectsWithTag();通过transform找游戏对象

2017-06-14 19:28:30 334

转载 游戏动画中欧拉角与万向锁的理解

下面我想说明四个问题:1,什么是欧拉角?2,万向锁是一种什么现象?3,游戏动画中遇到万向锁时会发生什么?4,怎样解决万向锁这个问题?一,什么是欧拉角?用一句话说,欧拉角就是物体绕坐标系三个坐标轴(x,y,z轴)的旋转角度。在这里,坐标系可以是世界坐标系,也可以是物体坐标系,旋转顺序也是任意的,可以是xyz,xzy,yxz,zxy,yzx,zyx中的任何一种,甚至可以是xyx,xyy,xzz,zxz

2017-06-14 13:20:54 474 1

转载 Unity —— 关于Lerp插值的基本原理

插值这个东西,对于很多新手来说,只是停留在使用的阶段,知道什么时候用,但是运算机制却不甚了解。最近发现,很多新人有这么一种想法:已经封装好的算法,都是很高深的,我们直接用就好了,没有必要去了解它的实现方式。这种想法是不对的。很多东西,只因为你是站在门外的,所以你看不透彻,当你迈进门里面的时候,就会觉得不过如此。啰嗦了很多,就是希望看到这篇的帖子的刚出道的新手们,能有一个打破砂锅问到底的精深。高深之所

2017-06-14 13:10:47 1930

原创 Unity 脚本生命周期

.

2017-06-13 19:34:58 234

原创 Unity API 解析—— GameObject 类

GameObject 类是Unity场景中所有实体的基类。一个GameObject对象通常由多个组件component组成,且至少含有一个transform组件。activeSelf 属性 —— GameObject的Active标识activeInHierarchy 属性的功能是返回GameObject实例在程序运行时的激活状态,它只有当GameObect实例的状态被激活时才会返回true。而且它

2017-06-13 18:01:14 3296

原创 Unity快捷键

Windows系统Unity3D中的快捷键 File 文件 Ctrl + N New Scene 新建场景 Ctrl + O Open Scene 打开场景 Ctrl + S Save Scene 保存 Ctrl+ Shift +S Save Scene as 保存场景为 Ctrl +Shift +B Build Se

2017-06-11 18:00:40 358

原创 C#集合详解

以下是对最长用的集合进行简单的总结 集合 说明 List<T> 可以像数组一样按索引访问列表,但提供了其他方法来搜索和排序 Queue<T> 先入先出数据结构,提供了方法将数据项添加到队列的一段,从另一端删除项,以及只检查不删除 Stack<T> 先入后出数据结构,提供了方法将数据压入栈顶,从栈顶出栈,以及只检查栈顶的项而不删除 LinkedList<T> 双向

2017-06-06 21:34:46 6753

原创 泛型代码中的默认关键字default

在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T:T 是引用类型还是值类型。如果 T 为值类型,则它是数值还是结构。给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T 为数值类型而不是结构时,语句 t = 0 才能正常使用。 解决方案是使用 default 关键字,此关键字对于引用类型会返回 nul

2017-06-06 11:46:58 3975

原创 C#中的泛型约束

使用约束的原因如果要检查泛型列表中的某个项以确定它是否有效,或者将它与其他某个项进行比较,则编译器必须在一定程度上保证它需要调用的运算符或方法将受到客户端代码可能指定的任何类型参数的支持。这种保证是通过对泛型类定义应用一个或多个约束获得的。例如,基类约束告诉编译器:仅此类型的对象或从此类型派生的对象才可用作类型参数。一旦编译器有了这个保证,它就能够允许在泛型类中调用该类型的方法。约束是使用上下文关键

2017-06-06 11:32:00 400

原创 集合-ArrayList的用法

ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。ArrayList是命名空间System.Collections下的一部分,在使用该类时必须进行引用,同时继承了IList接口,提供了数据存储和检索。ArrayList对象的大小是按照其中存储的数据来动态扩充与收缩的。所以,在声明ArrayList对象时并不需要指定它的长度。 一.优点 1。支持自动改变大小的功能

2017-06-06 09:49:46 494

原创 索引器概述

索引器概述使用索引器可以用类似于数组的方式为对象建立索引get 访问器返回值。 set 访问器分配值。this 关键字用于定义索引器。value 关键字用于定义由 set 索引器分配的值。索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。索引器可被重载。索引器可以有多个形参,例如当访问二维数组时。class SampleCollection<T>{ // 声明一

2017-06-03 16:49:25 242

原创 理解null值和可空类型

C#允许将null值赋给任意引用变量,值为null的变量表明该变量不引用内存中的任何对象,Circle c = new Circle(42);Circle copy =null; // 声明的同时进行初始化...if(copy == null){ copy = c; // copy 和 c引用同一个对象 ...}C#6.0新增了空条件操作符来更简洁的测试空值,使用它需要为变

2017-06-03 15:00:04 512

转载 单例模式

单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。   单例模式有以下特点:   1、单例类只能有一个实例。   2、单例类必须自己创建自己的唯一实例。   3、单例类必须给所有其他对象提供这一实例。   单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、

2017-06-03 09:21:33 260

转载 23种设计模式汇总整理

设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。设计模式

2017-06-03 09:07:07 207

原创 C#中子类与父类的相互转换

1.父类不能直接强制转换成子类 2.子类可以强制转换成父类,但是在父类中只能取父类的字段与方法因此在一个父类对应多个子类的时候,不知道具体是哪个子类的时候,就可以先声明一个父类的类型。(如例1) 3.由1,2知,父类不能直接强制转换成子类,但是可以通过间接的方法进行转换,例1中有所体现:将子类转换成父类,然后再把父类转换成子类,如例2。 特别说明:虽然可以通过间接方式将父类转成子类,但实际用处

2017-06-02 12:08:50 16999 1

转载 C#中is和as操作符

在C#语言中进行类型转换的操作符is和as。is和as都是强制类型转换,但这两者有什么相同之处和不同之处呢?在使用is和as需要注意哪些事项?下面我们从简单的代码示例去探讨这个简单的问题。is检查一个对象是否兼容于指定的类型,并返回一个Boolean值:true或者fasle。注意,is操作符永远不会抛出异常,请看以下示例:ClassA{.... }Object o=new Object()

2017-06-02 08:56:48 434

原创 C#中使用checked和unchecked整数运算

checked语句是以checked关键字开头的代码块,checked语句中的任何整数运算溢出都会抛出OverflowException异常,int number = int.MaxValue;checked{ int willThrow = number++; Console.WriteLine("永远都不会执行到这里")}只有直接在checked块中的整数运算才会检查,例如

2017-06-02 08:25:21 432

原创 C#中的异常过滤器&try catch语块儿

try catch 语块使用 try,catch,finally语句捕捉和处理这些异常所代表的错误tyr{ int left = int.Parse(lhsOperand.Text); int righ = int.Parse(rhsOperand.Text); result.Text = answer.ToString();}catch(FormatException f

2017-06-01 22:22:10 3334

转载 C#中Math类集合

1.Math.Abs 已重载。返回指定数字的绝对值。 2.Math.Acos 返回余弦值为指定数字的角度。 3.Math.Asin 返回正弦值为指定数字的角度。 4.Math.Atan 返回正切值为指定数字的角度。 5.Math.Atan2 返回正切值为两个指定数字的商的角度。 6.Math.BigMul 生成两个 32 位数字的完整乘积。 7.Math.Ceiling 已重载。 返回大

2017-05-31 16:50:59 1051

原创 C#中String的用法

String 类的属性 属性名称 描述 Chars 在当前 String 对象中获取 Char 对象的指定位置。 Length 在当前的 String 对象中获取字符数。String 类的方法 String 类有许多方法用于 string 对象的操作。下面的表格提供了一些最常用的方法: 序号 方法名称&描述 1 public static int Compar

2017-05-31 14:40:31 13726 2

转载 C#集合之SortedList

1、SortedList定义System.Collections.SortedList类表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。SortedList 在内部维护两个数组以存储列表中的元素;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为null,但值可以。2.优点1、SortedList 允许通

2017-05-31 14:23:26 814

转载 C#中HashTable的用法

一,哈希表(Hashtable)简述在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalu

2017-05-31 13:50:51 570

转载 强类型与弱类型

强类型——- 是自定义类所具有的优势。它使得对象处理的数据更容易被理解,而不需要与ADO.NET和XML编程模型打交道。这在大型系统里是很有用的,特别是当设计者定义了由自定义类所组成的数据访问层,并把设计向组织内的其他程序员发布的时候。当然,现在自定义类的使用有下降的趋势:它们需要编更多的代码,因为你必须创建.NET Framework所缺少的对象关系映射层。强/弱类型是指类型检查的严格程度的。

2017-05-31 13:41:43 973

原创 抽象方法和虚方法的区别

抽象方法是只有定义、没有实际方法体的函数,它只能在抽象函数中出现,并且在子类中必须重写;虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖。 虚方法: 有实现,有函数体,允许子类覆盖或重写;一定通过对象/this 调用

2017-05-31 13:40:27 569 1

原创 值和引用&装箱拆箱

引用: 声明Circle变量时,编译器不生成代码来分配足以容纳一个Circle的内存块,相反,它唯一做的事情,就是分配一个小块内存,其中刚好可以容纳一个地址…以后,Circle实际占用内存块的地址会填充到这里 该地址称为对内存块的引用 ,Circle对象实际占用的内存是在使用new关键字创建对象时分配的 //Circle c; c = new Circle(); 以上代码在内存中的变化步骤:

2017-05-29 16:09:30 262

原创 接口和抽象类有什么区别

简单来说, 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。也可以理解为 :接口用来解耦和,回调,在项目开发初,抽象类用来定原型,接口用来确定功能PS:耦合这个东西我还是画个图吧 看图

2017-05-29 14:49:52 685 3

原创 静态方法和数据

理解静态方法和数据并非所有方法都天生从属于类的某个实例.这些称为工具方法或实用方法静态方法不依赖类的实例,不能访问类的任何实例字段或实例方法.相反,只能访问标记为static的其他方法和字段从普通类外访问静态字段,要以类名作为前缀,而不是以实例作为前缀名称使用const关键字创建静态字段 const 关键字声明的字段成为常量字段,是一种特殊的静态字段,它的值永远不会改变 关键字是const静态类

2017-05-29 14:22:48 275

原创 构造器

构造器// 这里所讲的构造器就是构造函数,构造方法.使用构造器: 使用new关键字创建对象时,”运行时”必须根据类的定义构造对象. 必须从操作系统中申请内存区域,在其中填充类定义的字段,然后调用构造器执行任何必要的初始化重载构造器: 生成应用程序时,编译器根浴new操作符质地昂的参数判断应该使用哪个构造器. C#的一个重要的特点是,一旦为类写了任何构造器,编译器就不会再自动生成默认的构造器,所以

2017-05-29 14:01:51 392

转载 关于C#中的内存理解

关于C#中的内存理解内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放 , 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的

2017-05-29 13:59:48 762

空空如也

空空如也

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

TA关注的人

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