UnityEngine.CharacterInfo.width(etc)警告

时间:2016-02-19 15:42:30

标签: unity3d unity5 unity3d-ui

在此代码片段中......

charInfo.width = (int)ToFloat(charNode, "xadvance");
charInfo.flipped = false;
charInfo.uv = .. a Rect

我收到这些警告......

  

Assets / BitmapFontImporter.cs(54,42):警告CS0618:UnityEngine.CharacterInfo.width' is obsolete:不推荐使用CharacterInfo.width。请改用提前。'

     

Assets / BitmapFontImporter.cs(55,42):警告CS0618:不推荐使用UnityEngine.CharacterInfo.flipped' is obsolete: CharacterInfo.flipped。改为使用uvBottomLeft,uvBottomRight,uvTopRight或uvTopLeft,无论方向如何都是正确的。'

     

Assets / BitmapFontImporter.cs(63,42):警告CS0618:UnityEngine.CharacterInfo.uv' is obsolete:不推荐使用CharacterInfo.uv。请改用uvBottomLeft,uvBottomRight,uvTopRight或uvTopLeft。'

     

Assets / BitmapFontImporter.cs(73,42):警告CS0618:UnityEngine.CharacterInfo.vert' is obsolete:不推荐使用CharacterInfo.vert。请改用minX,maxX,minY,maxY。'

我试图将代码修改为正确的新成语,但我不能,所以我添加了一个丰厚的赏金。

BTW这是来自杰出的剧本:BitmapFontImporter,它被广泛使用。

Note 3/2016 git上的BitmapFontImporter现已根据d4Rk的完美修复更新了!在这里:https://github.com/BenoitFreslon/BitmapFontImporter

1 个答案:

答案 0 :(得分:2)

由于剧本在Unity 5.3.1中根本不适合我,我摆脱了所有这些警告(使用推荐的"新的"方法)..

在编辑器中进行快速测试之后,它似乎再次运转良好。

enter image description here 注意:我使用了Glyph Designer的免费版本,这就是字符上水印的原因..但你可以看到字符的位置和大小正确。

这里是差异:

-   XmlNode kernings = xml.GetElementsByTagName("kernings")[0];

-   charInfo.width = (int)ToFloat (charNode, "xadvance");
-   charInfo.flipped = false;
+   charInfo.advance = (int)ToFloat (charNode, "xadvance");

-   charInfo.uv = r;
+   charInfo.uvBottomLeft = new Vector2(r.xMin, r.yMin);
+   charInfo.uvBottomRight = new Vector2(r.xMax, r.yMin);
+   charInfo.uvTopLeft = new Vector2(r.xMin, r.yMax);
+   charInfo.uvTopRight = new Vector2(r.xMax, r.yMax);

-   charInfo.vert = r;
+   charInfo.minX = (int)r.xMin;
+   charInfo.maxX = (int)r.xMax;
+   charInfo.minY = (int)r.yMax;
+   charInfo.maxY = (int)r.yMin;

另见: https://github.com/BenoitFreslon/BitmapFontImporter/pull/2/commits