实例化对象:.Instantiate .调用
一、程序结构:
(1)命名空间 System.ValueType
(2)类 class
(3)方法 Main
(4)语句
二、变量:(变量名命名规则)
数据类型 变量名 = 值;
变量和常量是相对的:变量是指所存放的值是允许改变的,而常量表示存入的值不允许改变。另外,在为变量赋值时也可以一次为多个变量 赋值
①数字、字母 、下划线组成
②不要以数字开头
③驼峰命名法 (WriteLine 大驼峰)(writeline小驼峰)
④不能用C#中已有的关键字
三、常量:
与变量不同的是,常量在第一次被赋值后值就不能再改变。定义常量需要使用关键字 const 来完成。
const 数据类型 常量名 = 值;
需要注意的是,在定义常量时必须为其赋值,因为不赋值的话以后就再也不能赋值了。另外,也可以同时定义多个常量。
四、数据类型:
(1)数值类型:
整型:C# 语言将整型分成了 byte 类型、short 类型、int 类型、long 类型等,并分别定义了有符号数和无符号数。在 C# 语言中默认的整型是 int 类型。
浮点型:浮点型是指小数类型,浮点型在 C# 语言中共有两种,一种称为单精度浮点型(float),占用四个字节,最多保留7位小数。一种称为双精度浮点型(Double),占用八个字节,最多保留16位小数。在 C# 语言中默认的浮点型是 double 类型。如果要使用单精度浮点型,需要在数值后 面加上 f 或 F 来表示,例如 123.45f、123.45F。
(2)非数值类型:
布尔型:使用 bool 来声明,它只有两个值,即 true 和 false。
字符型:字符型只能存放一个字符,它占用两个字节,能存放一个汉字。字符型用 char 关键字表示,存放到 char 类型的字符需要使用单引号括起来,例如 ‘a’、‘中’ 等。
字符串型:字符串类型能存放多个字符,它是一个引用类型,在字符串类型中存放的字符数可以认为是没有限制的,因为其使用的内存大小不是固定的而是可变的。使用 string 关键字来存放字符串类型的数据。字符串类型的数据必须使用双引号括起来,例如 “abc”、“123” 等。
五、运算符:
(1)算数运算符:
算术运算符是最常用的一类运算符,包括加法、减法、乘法、除法等。
(2)逻辑运算符:
逻辑运算符主要包括与、或、非等,它主要用于多个布尔型表达式之间的运算。
&&:(与)如果运算符两边都为 True,则整个表达式为 True,否则为 False;
||:(或)如果运算符两边有一个或两个为 True,整个表达式为 True,否则为 False;
!:(非)表示和原来的逻辑相反的逻辑
(3)比较运算符:
比较运算符是在条件判断中经常使用的一类运算符,包括大于、小于、不等于、大于等于、小于等于等,
(4)位运算符:^
(5)赋值运算符:
(6)三元运算符:
布尔表达式 ? 表达式 1: 表达式 2
问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
六、注释的快捷键:
CTRl+K+C
CTRl+K+U 取消
七、物体发生碰撞的条件:
两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigibody刚体。
八、Java和C#的共同点:
面向对象的语言:继承、封装、多态
不同点:
继承:可传递性和单一性。
九、C#类型转换:
隐式类型转换:这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派 生类转换为基类。
显式类型转换: 即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。Convert.ToInt();
十、int类型和 string类型有什么区别
String可以初始化非数字数据
int用于初始化数据,但仅限于数字的初始化,运行速度快
十一、unity中四种光源:
(1)Directional
方向光源,这种类型的灯光可以被放置在无穷远处,可以影响场景中的一切游戏对象,类似于自然界中太阳光的照明效果。
(2)Point
点光源从一个位置向四面八方发出光线,影响其范围(Range)内的所有对象,类似灯泡的照明效果。
(3)Spot
聚光灯。这种灯光从一点发出,在一个方向按照—个锥形的范围照射,该锥形是由聚光灯角度.(Spot Angle) 和范围 (Range) 界定的。
(4)Area
区域光/面光源。该类型的光源无法应用于实时光照,仅适用于光照贴图烘焙 (lightmap baking)), 这种光能从各方向照射一个平 面的矩形截面的一侧。
十二、生命周期
(1) Awake:
只会被调用一次,在Start方法之前被调用! 主要用于字段值的初始化工作,禁用脚本,创建游戏对象,或者Resources.Load(Prefab) 对象。
(2)Start:
只执行一次,在Awake方法执行结束后执行,但在Update方法执行前执行, 主要用于程序UI的初始化操作,比如获取游戏对象或者组件。
(3)FixedUpdate :以固定频率调用的函数。
(4)Update :以非固定的频率调用的函数,该频率与设备的性能和程序自身有关。
(5)LateUpdate:每当Update调用完之后立马调用。
(6)GUI:
十三、unity里面所有物体的基类
gameobject
十四、flexlupdate、update、lateupdate区别
总体来说,Update() 和 LateUpdate() 属于立即更新,更新之间的频率是不固定的,比如某一帧有一个耗时操作时,就会影响到下
一帧更新时间,所以对更新频率要求比较稳定的物理系统(如Rididbody)就不太适合在这里处理更新。
FixedUpdate() 虽然是固定更新,但是其实也是相对固定的,比如某一帧耗了好几秒,它依然会卡住。不过正常的程序会优化耗时操作,小范围的帧率波动是正常的,可以让它更新的时间间隔稍微长一点,这样它的更新是比较平滑的。
在实际的开发中,例如以秒为单位的倒计时,并不需要每一帧去判断时间,所以用 FixedUpdate 就再合适不过了。
十五、继承特点:
可传递性或单一性 一个子类只能有一个父类,而父类可以有多个子类
十六、形参和实参的有什么区别?
实参就是常量实践的量,是不变的;
形参就是变量,是可变的的;
格式: 访问修饰符 (可选修饰符) 返回值类型 方法名(){}
十七、C#修饰符:
(1) public
成员可以被任何代码访问。
(2) private
成员仅能被同一个类中的代码访问,如果在类成员前未使用任何访问修饰 符,则默认为private。
(3) internal
成员仅能被同一个项目中的代码访问。
(4) protected
成员只能由类或派生类中的代码访问。派生类是在继承中涉及的
十八、可选修饰符:
在修饰字段时通常用两个修饰符,即readonly (只读)和static (静态的)。
使用 readonly 修饰字段意味着只能读取该字段的值而不能给字段赋值。
使用 static 修饰的字段是静态字段,可以直接通过类名访问该字段。
需要注意的是常量不能使用 static 修饰符修饰。
十九、返回值类型:
用于在调用方法后得到返回结果,返回值可以是任意的数据类型,如果指定了返回值类型,必须使用 return 关键字返回一个与之类型匹配的值。如果没有指定返回值类型,必须使用 void 关键字表示没有返回值。
二十、物体移动的代码:
二十一、形参和实参的区别
二十二、销毁
Destory