unity開發之知識記錄篇(color和string型別的相互轉換)
在unity裡,color型別有自定義區別與C#的型別,所以C#中的轉換方法,在unity中的使用受限制。
本文撰寫的理由是,我在做序列化的時候,序列化不支援這個color型別,報Max allowed object depth reached while trying to export from type UnityEngine.Color的錯誤。所以要把color型別轉換為可序列化的型別。
1,C#的名稱空間:System.Drawing
C#中的colorl型別來自這個名稱空間,並且提供了一系列欄位/屬性/方法。
這裡介紹下兩個轉換方法可供使用的:
①,轉換為int型別,FromArgb(Int32)/ToArgb(),明顯看出,第一個是基於一個 32 位 ARGB 值建立 Color 結構,第二個是對應的獲取此 Color 結構的 32 位 ARGB 值。
②,轉換為string型別,FromName(String)/ToString(),第一個name應該是在系統內已經定義過的顏色,這一對組合是不是有用筆者並不知曉,感興趣的可以嘗試下。
2,unity的Color型別:位於UnityEngine下
由於無法使用C#本身的API操作這個型別,unity提供了一個color的類ColorUtility用於對color型別進行操作。
這個類只提供了三個方法,足夠我們進行使用:
ToHtmlStringRGB(Color color);
ToHtmlStringRGBA(Color color);
TryParseHtmlString(string htmlString, out Color color);
前兩個是轉換為string型別,不一樣的是是否有A。最後一個則是反向的,使用out進行輸出,所以它返回的是一個bool型別的值,可以供我們判斷是否轉換成功~~
這是我的程式碼的一部分:
ColorUtility.TryParseHtmlString(itmeTemps[i].ColorStr, out Color prizeColor);
prize.GetComponent<Image>().color = prizeColor;
item.ColorStr = ColorUtility.ToHtmlStringRGBA(Color.red);
相關文章
- String和基本資料型別的相互轉換資料型別
- 重識JavaScript 之 資料型別的相互轉換JavaScript資料型別
- 開發:隨筆記錄之 Json字串和物件的相互轉換筆記JSON字串物件
- Map和String型別之間的轉換型別
- c++中幾種常見的型別轉換。int與string的轉換,float與string的轉換以及string和long型別之間的相互轉換。to_string函式的實現和應用。C++型別函式
- 型別轉換(int 和 String)型別
- Java基礎知識-基本資料型別相互轉型Java資料型別
- 日期型別與String型別的轉換型別
- String.valueOf和強制型別轉換(String)的區別型別
- 【API知識】型別轉換工具ConvertUtils引發的思考API型別
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- JS資料型別轉換記錄JS資料型別
- 字串、數值 等型別的相互 安全轉換字串型別
- 必考知識點-JavaScript型別轉換(講原理)JavaScript型別
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- string與數字相互轉換
- 常見物件-StringBuffer和String的相互轉換物件
- Java中String和byte型別互相轉換Java型別
- android中String與InputStream之間的相互轉換方式Android
- 字串和Date型別之間的轉換字串型別
- 程式碼塊,資料型別的相互轉換,集合資料型別
- JAVA基礎:Java變數型別間的相互轉換(轉)Java變數型別
- string與char陣列相互轉換陣列
- JAVA裡的String、Timestamp、Date相互轉換Java
- CUDA 學習筆記之型別轉換筆記型別
- date和timestamp型別之間的轉換型別
- java基本型別和物件之間的轉換Java型別物件
- C++中的向上型別轉換和向下型別轉換C++型別
- 使用boost庫處理 int 、float、string之間相互轉換
- Java開發學習--Java 中基本型別和包裝類之間的轉換Java型別
- NodeJS 和 C++ 之間的型別轉換NodeJSC++型別
- SCSS Color 型別CSS型別
- 強制型別轉換之(==)型別
- JS中的資料型別轉換:String轉換成Number的3種方法JS資料型別
- RVA和RAW相互轉換
- 通過JDOM實現XML與String的相互轉換XML
- fastjson json字串和JavaBean、List、Map及複雜集合型別的相互轉換。ASTJSON字串JavaBean型別
- Net任意String格式轉換為DateTime型別型別