原创 c# StackExchange.Redis常用API

String 字符串 StringSet: 1.設置一個String值 2.設置多個String值,要麼都設置成功,要麼都失敗! 非常有用 StringSetRange: 1.從偏移量offset 開始 使用 value 填充。

原创 .net Json的幾個坑

當反序列化的對象沒有無參構造函數時,就會出現亂七八糟的現象 據我試驗的結果,沒有無參數構造函數時, 第一步,應該是先找json字符串中有沒有與參數名相同的數值,有的話反序列化構建對象時,填入對應的參數,一旦值做爲參數填入,後續反序

原创 c# StackExchange.Redis的常用數據類型

一、CommandFlags 枚舉 None = 0; //默認 HighPriority = 1; //不用了,廢棄 FireAndForget = 2; //對結果不感興趣,調用者將會立即收到默認值 PreferMast

原创 Unity 碰撞

一:產生碰撞的必要條件 要產生碰撞的兩個遊戲對象都需要添加碰撞器組件Collider(不能勾選IsTrigger,勾選此屬性表示物體是一個觸發器,已經不能叫做碰撞器了)。其中一個對象必須添加剛體組件Rigidbody。 具備這兩個

原创 記錄一次 RabbitMQ 內存一直漲的問題

分佈式遊戲框架上線運行一週,發現服務端的內存每天都在漲。 雖然使用win30 API 強制回收垃圾,也很快就漲回來了!查看消息隊列,沒有消息積壓。開始以爲是rabbitmq的問題也沒有太在意。直到打開測試服務端,發現測試服務器端已

原创 Unity WWW 讀取本地文件報錯

couldn’t read a file:// file 正確的格式是 @“file://d:\123\123” 不可以寫成 @“file://d:/123/123” 或者 @“file://d:\123/123” 錯誤的格式並不

原创 多邊形障礙物尋路算法

根據兩點之間直線最短。可以知道最短路徑的拐點(拐彎的地方)一定是凸多邊形障礙物的頂點。 1.那麼我把所有障礙物的頂點,起點,終點 互相連接 得到的線段。就是可走路徑。這裏排除穿過障礙物的線段。 如上圖,紅色點爲起點,藍色點爲終點

原创 Unity 射線檢測

要使用射線檢測,物體必須是觸發器或者碰撞器。 什麼是觸發器,碰撞器請看https://blog.csdn.net/qq_27461747/article/details/104492748 射線檢測函數在Physics 類中。由於

原创 A* 算法 C# .net

當前點M:進行計算的點。 開放列表:等待計算的點。 封閉列表:計算過的點。 路徑長度:F=G+H G=起點移動到當前點的長度。 H=當前點到終點的估算長度。可以簡單理解爲(起點與終點的直線距離,排除障礙物的影響) 先把起點 置爲

原创 程序的6大原則 與設計模式

高內聚: 儘可能類的每個方法只完成一件事。方法與方法之間對內的依賴程度。 低耦合: 減少類調用其他的類的方法。核心思想就是減少類與類之間的依賴關係。 6大原則 1.單一職責原則 一個類就負責一個責任。高內聚 一個類承擔的責任越多,

原创 Unity Rect 結構

原创 Mono GC的內存管理

1.mono 在分配內存時會先看 mono 的空閒內存夠不夠。 2.如果足夠的話直接使用內存, 3.否則進行GC垃圾回收, GC回收不再使用的內存後, 4.再次判斷空閒內存夠不夠, 5.如果足夠的話直接使用空閒內存。 6.如果不夠

原创 SVN 安裝以及常用操作

SVN Windows 版安裝 服務端安裝程序 http://tt1253.oss-cn-shenzhen.aliyuncs.com/setup/SVN/Server/Setup-Subversion-1.8.17.msi 下載完

原创 Unity VideoPlayer 安卓不播放的問題

如果你使用的是 android studio, gradle 來構建apk,需要在build.gradle 中加上配置。 如果你不是使用gradle,那麼應該是其他的問題,就不必往下看了。 android { aaptOpti

原创 Unity 優化相關

減少DrawCall DrawCall 是CPU 對 GPU 發送一次渲染指令,其中傳遞了材質球,頂點等信息。發生DrawCall 比較損耗效率,所以要儘量減少DrawCall。 Batches 與 DrawCall 息息相關。B