自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2019-04-28 HTML列表

无序列表 <h1>列表</h1> <P> <ul> <li>默认远点符号</li> <li>默认远点符号</li> <li>默认远点符号</li> ...

2019-04-28 15:55:58 134

原创 2019-02-25冒泡排序的扩展应用(委托的使用)

class employee { public string Name { get; private set; }//自动属性 public int Salary { get; private set; }//自动属性 /// &lt;summary&gt; /// 构造函数 /// &lt;/su...

2019-02-25 14:20:36 139

原创 2019-02-25Action委托和Func委托

再c#中系统给我们提供过来了一个内置的委托类型,Action和Func委托。Action委托引用了一个void返回类型的方法,T表示方法参数ActionAction&lt;in T&gt;Action&lt;in T1, inT2&gt;Action&lt;in T1,in T2 ... in T16&gt;Func引用了一个带有一个返回值的方法,他可以传递0或者多到16个...

2019-02-25 12:27:57 157

原创 2018-11-15委托的定义和使用

委托的定义:委托是一个类型,这个类型可以赋值一个方法的引用。如果我们要把方法当作参数来传递的话,就要用到委托。 使用委托的两个阶段:首先定义委托,告诉编译器我们这个委托可以指向哪些类型的方法,然后,创建该委托的实例。定义委托的语法如下:    delegate void IntMethodInvoker(int x);//有参数,返回类型为void。这个委托指向方法必须带有...

2019-02-25 11:57:26 187

原创 2018-10-31Debug绘制射线,Unity显示射线Ray

Debug.DrawRay(Vector3,Vector3,Color);//绘制射线第一个Vector3是起点位置;第二个是目标点减去起点得到的方向;Color是射线的颜色。 只能在scence场景看到, 运行后看不到。如果想在运行后看到,可以试用LineRenderer组件绘制。...

2018-10-31 12:12:18 17429 1

原创 unity 隐藏鼠标指针

Cursor.visible = false;//隐藏鼠标指针

2018-10-30 21:03:11 4873

原创 2018-10-19物理射线 Ray

从一个点向一个方向,发射一根无线长的射线,这根射线与场景中其他对象物体的碰撞体组件发生碰撞,射线即结束。由于射线可以与物理组建Collider相交互,所以“射线”也称之为“物理射线”。 物理射线相关方法通过摄像机创建射线。Camera.main代表tag设置为“MainCamera”的摄像机的camera组件的引用。m_Camera.ScreenPointToRay(Vec...

2018-10-25 17:14:35 290

原创 2018-10-17常用API之工具类 Screen\Time\Mathf

1.Screen 屏幕类包含屏幕相关的数据信息。类中的属性:Screen.Width:静态只读属性,屏幕的宽带Screen.Heigth:静态只读属性,屏幕的高度备注:在Unity的开发模式下,这两个值取的时Game窗口的宽度和高度。在项目编译打包后,再运行,就是具体设备的屏幕的宽度和高度。 2.Time 时间类包含时间相关的数据信息。类中的属性Time...

2018-10-18 16:10:22 145

原创 2018-10-17 脚本生命周期

生命周期事件,全部是由系统定义好的,且系统会自动调用。系统调用这些事件的顺序,我们代码里面的书写顺序无关。1.Awake()//唤醒事件,只执行一次。2.OnEnable()//启用事件,只执行一次,当脚本组件被启用的时候执行一次。3.Start()//开始时间,只执行一次。4.FixedUpdate()//固定更新事件,执行N次,0.02秒执行一次。所有物理组件相关的更新都在这个...

2018-10-17 18:55:44 117

原创 2018-10-17 协程 协同程序

协同程序简称“协程”。在脚本运行过程中,需要额外的执行一些其他的代码,这个时候就可以将“其他代码”以协程的形式来运行。类似于开启了一个线程,但是协程不是线程。 协同程序的使用前提只有在继承了“MonoBehaviour”这个类的子类中才能使用相关的协程方法。协同程序语法格式协同程序就是一个代码片段,往往我们需要将这个代码片段封装成一个方法,或者称之为函数。 I...

2018-10-17 18:16:22 132

原创 2018-10-17 SendMessage 消息发送

1.SendMessage函数gameObject.SendMessage("string"):通知这个游戏对象身上的脚本文件中的“某个方法string”开始执行string:方法名,要执行的方法名称;该方法的访问修饰符必须是 Public。...

2018-10-17 16:48:00 519

原创 2018-10-16 Rigidbody刚体,移动对象的方法MovePosion及transform.Translate()移动对象

private Rigidbody rigidbody;//声明刚体对象 private Transform tran;//申明对象Transforma对象 public float speed = 0.2f; // Use this for initialization void Start () { //获取组件 rigid...

2018-10-16 18:01:50 943

原创 2015-10-16 Invoke 函数 InvokeRepeating函数 CancelInvoke取消Invoke函数

Invoke 函数代码Invoke(string,float): 多少秒后执行某个函数[只会调用一次]。参数说明:string:要执行的函数的名称;Float:秒数,倒计时的时间;void Start () { Invoke("CreatBoxFun", 5f); } void CreatBoxFun() { ...

2018-10-16 17:27:04 3089

原创 2018-10-15 实例化对象 Instantiate与销毁游戏对象GameObject.Destroy

 GameObject.Instantiate(Object, Vector3, Quaternion, transform.parent);Quaternion[四元数]:实例化后对象的旋转情况Quaternion.identity:无旋转  GameObject.Destroy(Objecrt,float)float:多少秒后销毁...

2018-10-16 13:01:51 2405

原创 2018-10-15 声音组件AudioSource

1.AudioClip音频剪辑AudioClip:音频剪辑(音频片段)。导入Unity的声音文件,类型都是AudioClip类型。Unity能使用的音频格式有:.aif  .wav  .mp3  .ogg 2.AudioSource组件AudioSource:音频源组件,作用是用于播放音频剪辑(AudioClip)资源。你可以将音频源组件当成一个“音响”。添加步骤:...

2018-10-15 19:10:44 1064

原创 2018-10-15 LineRenderer线渲染器

LineRenderer,线渲染器,作用于渲染显示“线特效”。线:就是一根线。我们要想绘制一根线,需要至少两个点,在游戏中也不例外。 线特效在游戏中常用于渲染激光效果,或者用于子弹瞄准。该特效需要 材质球的shader为Particles/Additive;(粒子/添加物)...

2018-10-15 17:52:59 188

原创 2018-10-14TrailRenderer拖尾渲染器

TrailRenderer,拖尾渲染器,作用是用于渲染显示“拖尾特效”。拖尾在游戏中的运用:物体高速运动,为了体现他们运动快,往往都会在他们后面加上拖尾特效。比如:子弹、导弹用途:体现物体运动速度等。3.创建拖尾特效(1)新建一个空对象;(2)给这个空物体添加TrailRenderer组建所有以“Renderer”为后缀进行命名的组件,都需要给他们指定材质球。若没有...

2018-10-15 17:32:21 524

原创 2018-10-14 函数值递归调用

1.递归递归算法是一种直接过间接调用自身函数或者方法的算法【自己调用自己】2.递归原则(1)函数会一直调用自己,直到满足特定条件(递归要有一个结束条件)(2)递归调用时会传递些参数,每次调用都会将一个新的参数传递给自己; static void Main(string[] args) { int a=addNum(5); ...

2018-10-14 19:40:53 93

原创 2018-10-14 ref引用传递 out参数

ref参数将一个变量传入一个函数中进行 “处理”,“ 处理”完成后,再将“处理”结果带出函数要求:函数外必须为变量赋值,而函数内可以不赋值。语法形参和实参前都要加ref关键字。      static void Main(string[] args)        {            int num = 5;            Add(ref nu...

2018-10-14 17:23:46 121

原创 2018-10-14 数据结构

数据结构是计算机存储 组织 管理数据的方式。数据结构是指相互之间存在一种或多种特等关系的元素的集合。所有的数据结构的操作本质都是四步:增,删,改,查。...

2018-10-14 16:58:35 122

原创 2018-10-14 Dictionary泛型集合之基本使用

1.Dictionary集合是一种“键值对”集合。每个数据都是有两部分组成-“键”  “值”。在字典集合中,我们是根据“键”去找值,这一点和List&lt;T&gt;不同。在字典集合中,键必须是唯一的,而值是可以有重复的。List&lt;T&gt;泛型集合,我们只限定了数据(T)的类型;而在Dictionary&lt;K,V&gt;泛型集合中,我们要分别限定键&lt;K&gt;和值...

2018-10-14 14:24:26 187

原创 2018-10-12 MVC设计模式

MVC是软件开发行业比较经典的设计模式,是一种代码开发的思想和套路。将要实现的某个功能分成三个部分:V:View  [视图层] 也就是界面,主要负责和和用户进行输入输出的交互;C:Controller  [控制层],主要负责处理该功能的逻辑部分;M:Model  [模型层],主要对数据进行操作;这里以一个网站的登陆页面为例进行说明:登陆页面(V)     登陆,注册(C) ...

2018-10-14 13:57:50 59

原创 2018-10-12 LIst泛型集合之用户管理系统

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _2018_10_12_LIst泛型集合之用户管理系统{ class User { public enum S...

2018-10-14 13:57:32 283

原创 2018-10-11数组

数组是一个有固定大小的存储相同类型元素的集合一次性存储多个相同类型的变量数组的申明:数据类型[] 数据名=new 数据类型[数组长度]; 声明没有数据的数组(申明数组必须有长度);int[] array=new int[0];var array=new int[0];string array=new string[0];int[] intArray = new...

2018-10-12 19:22:34 85

原创 2018-10-11泛型 创建自己的List类

自己写了一个list类 简单实现了CapaciTy获取列表容量大小 Count访问元素个数 Add()添加数据 Insert()指定索引处添加数据 [index]访问元素(索引器) IndexOf()返回数据的下标 LastIndexOf()从后往前返回数据的下标 Sort()对列表中的数据进行从大到小排序using System;using System.Collecti...

2018-10-11 19:36:49 318

原创 2018-10-09 泛型类及泛型方法

通过参数化类型来实现在同一份代码上操作多种数据类型,利用“参数化类型”将类型抽象化,从而实现灵活的复用。 泛型类:定义一个类,如果这个类中某些字段的类型是不确定的,这些类型可以在类构造的时候确定下来。 class ClassA&lt;T&gt; { private T a; private T b; public Cl...

2018-10-09 00:50:54 81

原创 2018-10-18集合类 列表List

当我们有跟多类型一样的数据的时候,我们可以使用集合类来进行管理,比如列表List,我们可以使用列表List很方便的添加数据,删除数据还有其他操作。(数组的缺点:数组的大小是固定的,不能增加数据)using System.Collections.Generic;//List需要引入命名空间using System.Collections.Generic;列表内部数据是使用数组进行存...

2018-10-09 00:25:54 101

原创 2018-10-01 异常处理(捕捉异常)try--catch--finally

处理异常的语法结构如下try{}catch(&lt;exceptionType&gt; e){}finally{}其中catch块可以有0个或多个,finally可以有0个或1个,但是如果没有catch块,必须有finally块,没有finally块,必须有catch块,catch块和finally块可以同时存在。 try块包含了可能出现异常的代码(一条...

2018-10-05 14:29:36 349

原创 2018-09-30 预编译指令与对象初始化器

1.预编译指令预编译指令也叫预处理指令,在程序正式编译之前执行。这些指令不会转化为可执行代码中的命令,但是会影响编译过程中的各个方面。 (1)区域指令:#region Info......#eduregion作用:优化代码结构,当代码有超过500+,1000+行以上的时候,一个脚本文件会出现大量的字段,属性,方法,各种各样的功能代码。如果想要快速定位某个功能代...

2018-09-30 19:09:15 92

原创 2018-09-29 装箱与拆箱

1.Object类在c#语言中,Object类是所有类的父类,在C#中所有类(内置的,我们创建的)都直接或间接继承Object类。Object是类,object是类型。 重写ToString方法我们经常会在自己的类中重写ToString方法,将类中的信息打印输出。目的是:辅助调试和开发。  2.装箱与拆箱装箱:值类型—&gt;引用类型拆箱:引用类型—&g...

2018-09-30 16:42:50 74

原创 2018-09-28 嵌套类 匿名类 密封类

1.嵌套类在c#中可以将一个类定义在另一个类的内部;外面的类叫“外部类”,内部的类叫“嵌套类”;嵌套类和普通类相似,只是申明的位置比较特殊 注意事项:如果想实例化内部类,需要使用 外部类名.内部类名 的方式访问到内部类。 class Person { private string name; public string Nam...

2018-09-29 17:28:26 123

原创 2018-09-29静态之方法与类

一.静态普通方法被static修饰的方法叫静态方法。直接使用 类名.静态方法名 进行访问。注意事项:控制台程序的program入口类中的Main 函数就是一个静态方法;在静态方法中不能调用非静态方法。 二.静态构造方法静态构造方法的作用是用于初始化静态成员。一个类只能有一个静态构造方法,该静态方法没有任何方式修饰符,也没有参数。可以定义在静态类中,也可以定义...

2018-09-28 17:19:15 107

原创 2018-09-27静态之字段与属性

一.静态字段被static关键字修饰的字段,叫做静态字段静态字段不属于任何对象,只属于类,必须要用 类名.静态字段名 进行访问。注意事项静态字段可以重新赋值,类名.静态字段名=新值; 静态字段存储的数据在内存中只有一份; 实例(对象)字段在内存中会有N份,有多少对象就会有多少实例字段。二.静态属性被static关键字修饰的属性,叫做静态属性。静态属性用于对静态字段进行...

2018-09-28 00:15:10 228

原创 2018-09-27封装之五种访问修饰符

一.五种访问修饰符1.public [公开访问]公开的访问权限,当前类,子类,实例对象都可以访问到。 2.private [私有访问]私有的访问权限,只能在当前类内部访问使用;子类,实例对象都不能访问。 3.protected [保护访问]受保护的访问权限。只能在当前类的内部访问,以及该类的子类中访问;实例对象不能访问。 4.internal [内部访问...

2018-09-27 16:56:16 187

原创 2018-09-27多态之 虚方法 抽象类 接口 对比

1.语法格式对比语法格式、关键字。2.使用场景对比虚方法:父类中的个别方法用虚方法实现,然后允许子类在有需要的情况下重写该虚方法;抽象类:父类定义一系列规范,子类去吧里面定义的这些规范全部实现;接口:是一种功能的扩展,是在原有的类的继承关系意外的新功能扩展。...

2018-09-27 16:18:14 161

原创 2018-09-26多态之接口类

一.接口语法1.抽象类--&gt;接口当抽象类中所有方法都是抽象方法的时候,这个时候可以把这个抽象类用另外一种形式表现,这种形式叫接口。2.语法格式要求接口使用interface关键字定义,没有class关键字,接口名一般使用“IXxxx”这种方式进行书写,在一堆脚本中通过名字判断,I开头的一般就是接口;接口中不能包含字段,但是可以包含属性(没有字段如何写属性);接口中定义...

2018-09-27 15:43:33 81

原创 2018-09-27静态之单例设计模式

1.何为单例设计模式保证一个类在整个程序运行过程中之存在一个实例对象。为解决这个问题,我们就需要用到“单例(模式)”2.注意事项单例设计模式是用于非静态类中,在静态类中写单例毫无意义。3.单例代码步骤(1)声明一个静态且私有的这么一个当前类类型的字段;(2)创建一个私有的无参构造方法,保证外部无法实例化这个类;(3)创建一个静态方法,用于创建此类的唯一对象。 cl...

2018-09-27 15:41:44 86

原创 2018-09-18多态之抽象类语法

一.抽象方法1.虚方法→抽象方法父类里面用virtual关键字修饰的方法叫虚方法,子类可以使用override重写该方法,也可以不重写。虚方法还是有方法体的,当我们父类中的这个方法已经虚到完全无法确定方法体的时候,就可以使用另外一种形式来表现,这种形式叫抽象方法。2.抽象方法语法抽象方法的返回值类型前用abstract修饰,并且无方法体。抽象方法必须存在与抽象类中。二....

2018-09-25 19:24:55 140

原创 2018-09-17面向对象的六大原则

在使用面向对象思想进行程序设计开发过程中,有六大原则需要注意,六大原则在面向对象编程中是作为编程的“指导思想”和行动指南存在的六大原则如下:1.单一职责原则;2.开闭原则;3.里氏转换原则;4.依赖倒置原则;5.接口隔离原则;6迪米特原则; 一.里氏转换原则1.何为里氏转换原则(1).子类对象可以直接赋值给父类变量;(2).子类对象可以调用父类中的成员,但是父类对象...

2018-09-18 12:25:51 88

原创 2018-09-05struct结构体

namespace struct结构体{    public enum Gender    {        男,        女    }    public struct Person    {        public string name;        public int age;        public Gender gender;       ...

2018-09-05 19:05:45 81

空空如也

空空如也

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

TA关注的人

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