摘要:射线:从一个点往一个方向,发射一根无限长的射线,这根射线会与场景中带有 Collider 组件的物体发生碰撞。 射线的使用: 根据上面的代码: hitInfo.point:表示碰撞点的坐标。 Physics.Raycast():使用这个方法检测射线时,因为该方法重载很多,一定要弄清楚自己使用的是哪个
阅读全文
摘要:生命周期函数:需要继承 MonoBehaviour 类才能使用。生命周期函数全部都是由系统定义好的,系统会自动调用,且调用顺序和我们在代码里面的书写顺序无关。 常用的生命周期函数: Awake():唤醒事件,游戏一开始运行就执行,只执行一次。 OnEnable():启用事件,只执行一次。当脚本组件被
阅读全文
摘要:Invoke 函数需要继承 MonoBehaviour 类后才能使用。 Invoke(string str,float a):a 秒后执行名为 str 函数(只会调用一次)。 Invoke(string str,float a,float b):a 秒后执行名为 str 函数,并且以后每隔 b 秒都
阅读全文
摘要:Unity3D 播放声音需要使用 Audio Source 组件,并且需要 Audio Listener 组件配合,不然无法听到声音。Main Camera 会默认有 Audio Lisetener。 Unity3D 支持的音频格式有:ogg、mp3、wave、AIFF。 音频管理器(Edit-->
阅读全文
摘要:字符串的特点: 1、字符串是引用类型:字符串的数据是存储在堆空间中,栈空间中的变量存储了该数据的引用地址。 2、字符串是不可变的:当给一个字符串变量重新赋值时,旧值并没有销毁,而是重新开辟一块空间来存新值。 3、字符串可以看做是一个只读的字符数组:也就是说我们可以用for循环遍历字符串,得到所有的单
阅读全文
摘要:隐式转换[自动类型转换]: 两种类型要兼容,原类型值域要小于目标类型值域,可以简单的理解为由小转大。 1 public class Test 2 { 3 private void Start() 4 { 5 int a = 10; 6 float b = a;//int 类型隐式转换为 float
阅读全文
摘要:构造方法:用于实例化对象。 一般情况下,类或者结构体中都会存在一个默认的无参构造方法。如果我们在类中手动书写了有参的构造方法,那么这个无参构造方法就会被覆盖掉;但是结构体中却不会被覆盖,即使我们在结构体中书写了有参构造方法,无参构造方法依然可以使用。 【在使用单例模式时,我们可以书写 private
阅读全文
摘要:静态类:用关键字 static 修饰过的类。 静态类中不能存在对象成员;静态类不能实例化。 嵌套类:将一个类定义在一个类的内部,内部的类叫嵌套类,外面的类叫外部类。 嵌套类和普通类相似,只是声明位置比较特殊。 如果想实例化嵌套类的对象,需要使用 外部类名·嵌套类名 的方式访问到嵌套类。 在一个项目中
阅读全文
摘要:在制作推箱子,五子棋,消消乐等游戏时,我们一般会用到格子类的思想。因为这类游戏的地图都很类似网格,非常有规律。 格子类的原理有以下几点很重要: 1、所有游戏物体的坐标一定是正整数且类似网格有规律的排列。我们可以通过游戏物体的坐标(x,y),去对应二维数组的索引器[a,b],也就是说我们我们可以通过游
阅读全文
摘要:我们在定义方法时,经常会涉及到传参。因为引用类型的数据在用变量存储时,是存储的地址,所以在传参时,依然是传递的地址,但是值类型的数据在传参时就会有所不同。值类型数据在调用方法传参时,普通情况下是值传递,但是如果使用了 ref 关键字,就会变成引用传递。所以才会出现下图的结果: 如果在一个方法中需要返
阅读全文
摘要:协程方法的开启、关闭都是由对象完成的,所以我们在开启、关闭时都需要弄清楚对象,否则很容易出现协程打不开,或者关不掉的情况。 协程方法的开启、关闭方法1:用字符串打开,用字符串关闭,如果需要传递参数,可以在字符串后面写参数,但是参数个数只能为1。 协程方法的开启、关闭方法2:用方法名打开协程,但关闭时
阅读全文
摘要:pubulic:公开访问,所有类中都可以访问到。 private:私有访问,只能在当前类内部进行访问,在其他类中都访问不到。 protected:保护访问,只能在当前类以及该类的子类中访问,子类的子类依然可以访问。 internal:内部访问,只能在当前程序集中访问;在同一个项目中,internal
阅读全文
摘要:在C#中,我们常用的转义字符有: \n:表示换行(回车)。【在windows系统中,回车符其实是有两个符号组成:\r\n;有很多软件只能识别 \r\n,不能识别 \n。在Linux系统中回车符是:\n】 \":表示英文的双引号。 \':表示英文的单引号。 \t:表示一个tab键的大空格(制表符)。
阅读全文
摘要:虚方法: 1、在父类方法的返回值前加 virtual 关键字,标记为虚方法,表示这个方法可以被子类重写。 2、虚方法必须有方法体,方法体中可以没有任何内容。 3、子类可以根据需求选择性的是否重写虚方法。如果需要重写,在子类方法的返回值前加 override 关键字。 4、子类在重写虚方法时,可以根据
阅读全文
摘要:递归算法是一种直接或者间接调用自身函数或者方法的算法。(自己调用自己) 递归的原则:1、函数会一直调用自己,直到满足特定条件(递归要有一个结束条件); 2、递归调用时会传递参数,每次调用都会将一个新的参数传递给自己。 例如:用递归算法算出1到100的和,代码如下: 1 public class Te
阅读全文
摘要:上面的代码是我们在使用继承时,子类和父类的构造函数的写法。构造方法能否被继承,我觉得应该这样理解: 父类是对子类的抽象,也就是说父类和子类可以合并写成一个类,合并后的类写出来的构造函数,不仅会包含子类的构造函数的内容,还会包含父类的构造函数的内容,所以我觉得这里不能看成是子类继承父类的构造函数,看成
阅读全文
摘要:Cursor.visible:属性,显示或者隐藏鼠标。 Cursor.lockState = CursorLockMode.Locked:锁定鼠标到游戏窗口的中心。 (CursorLockMode:枚举类型。Locked:锁定鼠标到游戏窗口的中心。 None:鼠标行为是未修改的。 Confine:限
阅读全文
摘要:Stopwatch:秒表计时器,用来记录程序的运行时间,通常用来测试代码在时间上的执行效率。(需要引用:System.Diagnostics。) Stopwatch sw=new Stopwatch();//实例化一个对象。 sw.Start():开启计时器。 sw.Stop():关闭计时器。 sw
阅读全文
摘要:析构方法: 与构造方法正好相反,构造方法用于实例化一个对象,析构方法用于清理一个对象。在C#中不需要我们书写析构方法,编译系统会自动帮我们完成这项工作。 需要注意以下几点: 1、析构方法不能有任何参数,且无返回值,无访问修饰符。 2、一个类中只能有一个析构方法,意思就是说不能重载。(也不能被继承)
阅读全文
摘要:字符串的缺点: String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,就会产生大量的垃圾数据,占用浪费内存空间,这时就可以使用 System.Text.Strin
阅读全文