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和基本資料型別的相互轉換資料型別
- c++中幾種常見的型別轉換。int與string的轉換,float與string的轉換以及string和long型別之間的相互轉換。to_string函式的實現和應用。C++型別函式
- Map和String型別之間的轉換型別
- 型別轉換(int 和 String)型別
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- String.valueOf和強制型別轉換(String)的區別型別
- 【API知識】型別轉換工具ConvertUtils引發的思考API型別
- Java中String和byte型別互相轉換Java型別
- android中String與InputStream之間的相互轉換方式Android
- string與數字相互轉換
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- string與char陣列相互轉換陣列
- Apple開發_NSImage與CIImage之間的相互轉換APP
- 必考知識點-JavaScript型別轉換(講原理)JavaScript型別
- 程式碼塊,資料型別的相互轉換,集合資料型別
- String和Date、Timestamp之間的轉換
- java基本型別和物件之間的轉換Java型別物件
- mysql bigint型別和datetime型別的轉換MySql型別
- JS中的資料型別轉換:String轉換成Number的3種方法JS資料型別
- JSON序列化時將BigDecimal型別轉換成String型別JSONDecimal型別
- 強制型別轉換之(==)型別
- Python筆記:string,tuple,list,dictionary的區別(之二,高階用法與型別轉換)Python筆記型別
- BigDecimal轉為String型別、int型別Decimal型別
- GO語言中string和[]byte的區別及轉換Go
- Python小知識:如何在Python 3中轉換資料型別Python資料型別
- Java String和Date的轉換Java
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- C#中JSON字串和Dictionary字典型別的相互轉換C#JSON字串型別
- Python基礎之集合和資料型別轉換Python資料型別
- Json,String,Map之間的轉換JSON
- SCSS Color 型別CSS型別
- Java註釋,識別符號,資料型別,型別轉換Java符號資料型別
- Python 實現Excel和TXT文字格式之間的相互轉換PythonExcel
- JavaScript的String和Boolean型別JavaScriptBoolean型別
- 【關於Javascript】--- 隱式型別轉換篇JavaScript型別
- myBatis原始碼解析-型別轉換篇(5)MyBatis原始碼型別
- 【YashanDB知識庫】oracle dblink varchar型別查詢報錯記錄Oracle型別
- 型別轉換型別