Unity3D(2017高清)

分P大纲(笔记)
P8 用添加组件的方式造Cube
P9 造子弹(打组,子物体的position是相对关系,reset的习惯,以防换模型加空物体的习惯)
P10 给子弹加Material(material、shader、texture、color、object的关系)透明材质

P11 添加shader 物理着色器
P12 天空盒(跟之前的material不同)
P13 culling mask,layer,FOV拉近拉远(perspective才有)Far 性能优化 viewport rect(应用:小地图,后视镜)depth(game上的摄像机窗口互相覆盖)

ctrl shift f 定位
P16 IOC优缺点
P24 dotnet是微软的一个开发平台
Mono是跨平台开发dotnet程序的框架
unity借助Mono实现了跨平台,其核心是dotnet
vs的使用(新建解决方案、改字体、加行号)
P26 代码结构
ctrl+K+F 自动对齐 ctrl+K+C 注释 ctrl+K+U 取消注释

P27 内存中存程序需要操作的数据的变量
带宽 10M 10Mbps 兆位每秒= 1.25MBps
无符号 uint ulong 浮点型 1.2f 1.2d(d可以不写) 1.2m
!其余同c/c++
P28 声明 int a;
命名规则: string studentName; 见文知义不怕长
Console.WriteLine();跟cout一样,括号里重载了多种类型。加号连接string。
变量名==空间别名
P29 代码放多个方法里 浮点型舍入误差 二进制无法精确表示0.1,正如十进制无法精确表示1/3 decimal避免误差
调试的步骤

shift F5 停止调试
.sln是解决方案,双击可看代码
P24-P30 熟悉代码
P31 复习上节内容
P32 string.Format("");占位符{0}{1}可读性增强 顺序可以改变,但逻辑不对
exception异常
改错:异常原因(异常名字)+位置(文件+行号)
P33 Console.WriteLine(""); 标准数字格式字符串
{0:c} 货币
{0:d2} 用前导零补足两位
{0:f1} 以指定精度显示(四舍五入)
{0:p0} 百分数显示,0代表无小数
转义符 \
空字符 \0
回车换行 \r\n
\t
P34 dotnet程序编译过程
源代码.cs—— 点生成——cls(公共语言规范)编译(翻译)(功能:实现语言间互操作)——通用中间语言exe——双击——clr(公共语言运行库)即时编译(程序的运行环境,申请内存、垃圾收集)——机器码
P35 运算符
P38 数据类型转换
Parse——string转任意
int num01 = int.Parse(string("18"));
ToString 任意转string
string str = number.ToString();
P40 byte 类型转int可隐式
int转byte必须显式转换】
P41 类型自动提升,你可以显式的降回来

P42 语句 if-else
断点 黄色代表即将执行
P43 练习
提到 数据检查
P44 switch case case里必须有break(与c/c++不同)
有变量限制
default可选
多个case合并
P46 短路逻辑 与或 从左看
P47 循环语句
P49 练习:弹球 产生随机数
Random xx = new Random(); 创建一个工具
xx.Next(min, max) 用这个类的方法(min, max]
P50 方法
面向过程的语言里叫“函数” 数据库里叫“过程”
规定:函数名首字母大写
private static void Fun(int para){}
P52 学会调用别人的方法
c#的string字符编码为utf16,支持中文截断
而c++的string内部是char,干不了中文,可换为wstring
【扩】string 和 wstring
在C++中字符串类的string的模板原型是basic_string
template <class _Elem, class traits = char_traits<_Elem>, class _Ax = allocator<_Elem>>
class basic_string{};
第一个参数_Elem表示类型。第二个参数traits的缺省值使用char_traits类型,定义了类型和字符操作的函数,如比较、等价、分配等(https://learn.microsoft.com/zh-cn/cpp/standard-library/char-traits-struct?view=msvc-170)。第三个参数_Ax的默认值是allocator类,表示了内存模式,不同的内存结构将操作指针的不同行为,例如栈、堆或段内存模式等。
在C++标准里定义了两个字符串string和wstring
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
参考:https://www.cnblogs.com/xiaoyz/archive/2008/10/11/1308860.html
https://blog.csdn.net/qq_30722721/article/details/102628769 实现string转wsring
https://blog.csdn.net/p_roject/article/details/103901629
【引】unicode 和 utf https://zhuanlan.zhihu.com/p/427488961