Unity3D(2017高清)

分P大綱(筆記)
P8 用添加組件的方式造Cube
P9 造子彈(打組,子物體的position是相對關(guān)系,reset的習(xí)慣,以防換模型加空物體的習(xí)慣)
P10 給子彈加Material(material、shader、texture、color、object的關(guān)系)透明材質(zhì)

P11 添加shader 物理著色器
P12 天空盒(跟之前的material不同)
P13 culling mask,layer,F(xiàn)OV拉近拉遠(yuǎn)(perspective才有)Far 性能優(yōu)化 viewport rect(應(yīng)用:小地圖,后視鏡)depth(game上的攝像機(jī)窗口互相覆蓋)

ctrl shift f 定位
P16 IOC優(yōu)缺點
P24 dotnet是微軟的一個開發(fā)平臺
Mono是跨平臺開發(fā)dotnet程序的框架
unity借助Mono實現(xiàn)了跨平臺,其核心是dotnet
vs的使用(新建解決方案、改字體、加行號)
P26 代碼結(jié)構(gòu)
ctrl+K+F 自動對齊 ctrl+K+C 注釋 ctrl+K+U 取消注釋

P27 內(nèi)存中存程序需要操作的數(shù)據(jù)的變量
帶寬 10M 10Mbps 兆位每秒= 1.25MBps
無符號 uint ulong 浮點型 1.2f 1.2d(d可以不寫) 1.2m
!其余同c/c++
P28 聲明 int a;
命名規(guī)則: string studentName; 見文知義不怕長
Console.WriteLine();跟cout一樣,括號里重載了多種類型。加號連接string。
變量名==空間別名
P29 代碼放多個方法里 浮點型舍入誤差 二進(jìn)制無法精確表示0.1,正如十進(jìn)制無法精確表示1/3 decimal避免誤差
調(diào)試的步驟

shift F5 停止調(diào)試
.sln是解決方案,雙擊可看代碼
P24-P30 熟悉代碼
P31 復(fù)習(xí)上節(jié)內(nèi)容
P32 string.Format("");占位符{0}{1}可讀性增強(qiáng) 順序可以改變,但邏輯不對
exception異常
改錯:異常原因(異常名字)+位置(文件+行號)
P33 Console.WriteLine(""); 標(biāo)準(zhǔn)數(shù)字格式字符串
{0:c} 貨幣
{0:d2} 用前導(dǎo)零補(bǔ)足兩位
{0:f1} 以指定精度顯示(四舍五入)
{0:p0} 百分?jǐn)?shù)顯示,0代表無小數(shù)
轉(zhuǎn)義符 \
空字符 \0
回車換行 \r\n
\t
P34 dotnet程序編譯過程
源代碼.cs—— 點生成——cls(公共語言規(guī)范)編譯(翻譯)(功能:實現(xiàn)語言間互操作)——通用中間語言exe——雙擊——clr(公共語言運行庫)即時編譯(程序的運行環(huán)境,申請內(nèi)存、垃圾收集)——機(jī)器碼
P35 運算符
P38 數(shù)據(jù)類型轉(zhuǎn)換
Parse——string轉(zhuǎn)任意
int num01 = int.Parse(string("18"));
ToString 任意轉(zhuǎn)string
string str = number.ToString();
P40 byte 類型轉(zhuǎn)int可隱式
int轉(zhuǎn)byte必須顯式轉(zhuǎn)換】
P41 類型自動提升,你可以顯式的降回來

P42 語句 if-else
斷點 黃色代表即將執(zhí)行
P43 練習(xí)
提到 數(shù)據(jù)檢查
P44 switch case case里必須有break(與c/c++不同)
有變量限制
default可選
多個case合并
P46 短路邏輯 與或 從左看
P47 循環(huán)語句
P49 練習(xí):彈球 產(chǎn)生隨機(jī)數(shù)
Random xx = new Random(); 創(chuàng)建一個工具
xx.Next(min, max) 用這個類的方法(min, max]
P50 方法
面向過程的語言里叫“函數(shù)” 數(shù)據(jù)庫里叫“過程”
規(guī)定:函數(shù)名首字母大寫
private static void Fun(int para){}
P52 學(xué)會調(diào)用別人的方法
c#的string字符編碼為utf16,支持中文截斷
而c++的string內(nèi)部是char,干不了中文,可換為wstring
【擴(kuò)】string 和 wstring
在C++中字符串類的string的模板原型是basic_string
template?<class?_Elem,?class?traits?=?char_traits<_Elem>,?class?_Ax?=?allocator<_Elem>>
class?basic_string{};
第一個參數(shù)_Elem表示類型。第二個參數(shù)traits的缺省值使用char_traits類型,定義了類型和字符操作的函數(shù),如比較、等價、分配等(https://learn.microsoft.com/zh-cn/cpp/standard-library/char-traits-struct?view=msvc-170)。第三個參數(shù)_Ax的默認(rèn)值是allocator類,表示了內(nèi)存模式,不同的內(nèi)存結(jié)構(gòu)將操作指針的不同行為,例如棧、堆或段內(nèi)存模式等。
?在C++標(biāo)準(zhǔn)里定義了兩個字符串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 實現(xiàn)string轉(zhuǎn)wsring
https://blog.csdn.net/p_roject/article/details/103901629
【引】unicode 和 utf https://zhuanlan.zhihu.com/p/427488961