點擊塔防全部總結
主要內容如下
- 數值不要太變態,如果自己做配置,留給自己配置的項越少越好啊
- 想辦法活下去纔有希望(先喫飽在談理想)
- 進一步熟悉使用QF
- 項目一開始就放在github上
- 要注意繼承的代碼後綴,UI也是用後綴
- 項目中勇於嘗試c#新語法
- 腳本文件原則數量越少越好
- 一般來講遵循迪米爾法則
- 初始和回收用spawn,despawn;
- 用.length-1做最後索引
- 重構函數包括改名字啊
- 重要而且感覺容易出錯的代碼做好單元測試
- update可以多寫點邏輯
- 所有集合命名都要帶s,命名就是英文加數字編號,別整ABCD
- 用Array.IndexOf()索引前提是數組元素都無重複,就這樣用,方便修改啊
- 被動接受功能的物體,不需要有功能腳本,交給主動的物體吧
- 別註釋todo了
- 特效實例化的順序:槍口特效 ->子彈飛行特效 ->飛出音效 -> 擊中爆炸特效 -> 爆炸聲音音效 -> 死亡特效 -> 死亡聲音特效
- 尋求穩定的軟件版本
- 組件思想和低耦合的重要性
- 屬性中不要用屬性,屬性的初始靠對應之字段
- 母體工作流,先做成母體,然後覆蓋現有的
- 繼承的深度,最多兩層,特例3層
- UI用MVC相關架構, GamePlay用組件方式,感覺必要時候才用繼承方式
- 重構思路:精簡代碼,做模塊化,做子系統
- 枚舉最好做一個Null值
- json初始默認值搞假數據方便測試
- 初始化和回收之間需要多考慮寫什麼
- 初始化單例、初始化各核心模塊、並統一在這裏設置各個腳本里需要的引用關係
- 儘量不要在Awake()、Start()裏做操作
- 需要out太多信息時候,就要用類或結構代替參數重構之
- 裝備幾個屬性不一定做字段或屬性,相關聯幾個可以組合做成類
- 一切索引0開始
- Update Start Awake 做成虛方法更靈活吧
- 類圖千萬別心急啊,認真做,弄漂亮
- 關卡場景需要大預製體,但是呢有些不適合大預製體,不是絕對啊
- 策劃案用word來寫啊
- 未來方向是3D遊戲,並且盈利可以捐部分錢做公益,
- 遊戲狀態機中的邏輯寫在屬性中啊,分散各處有點亂啊
- 參數傳遞規則:是在一級的時候能得到值,就在那裏得到
- 函數裏代碼要緊湊,按照函數單一原則做成小函數,然後按照先後順序寫在某個大函數裏,避免順序不同等bug
- 主要場景命名First
- 爲了體現buff,不建議做在屬性裏,而是在客戶端的調用方法的參數裏,可能會好點
- hierachy面板也要做管理
- 腳本式組件命名要中立一點
- 拖住不放就自動切圖了
- 人脈的重要性,認識圈子裏大佬
- FGUI能解放雙手?
- 銷燬對象函數都叫RecycleObject,需要初始函數都叫NeedData
- 回收對象的牆一律起名字叫RecycleObjectWall,做成預製體,所以說一切可複用都要進行下去
- 後期統一了技術選型,再把框架做到極致和健壯,哪怕違背腳本主動原則
- 配置開始的時候就全部加載完啊
- 分清GameLevel和SceneLevel 避免混淆啊
- 最重要一條,地圖數據除了用tileMap還可以用數組來生成,提高工作效率
- 對象有兩種死亡方式的時候統一建議做成Hp減少,通過Hp屬性來調用共同的一些函數
- 邏輯分散是罪惡根源,一切對外接口都是方法,自己寫的庫其實很靠譜,關鍵還得多累積組件,方便日後開發呢
#if
編輯器宏不要用了,因爲不方便重構- 一個屬性功能要考慮正,反兩面,並且還要考慮正,反的極值啊,比如最大,最小
- 用宏做代碼測試權限