使用前需要对素材进行设置,过滤模式设置为Point,默认选项设置为不压缩图片质量,同时修改图集参数Pixels Per Unit为16(具体根据图集的人物长度决定)。 最后用SpriteEditor中Grid By Cell Size的方法将图集分割成16 * 16像素大小的图片,阿比盖尔的素材就准备完成了:
//构造信息展示面板 ,传入参数的info中包含描述信息 publicvoidSetDesPanel(ItemInfo info ) { //载入字体,获取描述文字 Font font = Resources.Load<Font>("Font/Arial"); int fontsize = 18; string text = info.description;
//获取这段文字的总字符长度 font.RequestCharactersInTexture(text, fontsize, FontStyle.Normal); CharacterInfo characterInfo; float width = 0f; for (int i = 0; i < text.Length; i++) { // Debug.Log("字符长度"); font.GetCharacterInfo(text[i], out characterInfo, fontsize); width += characterInfo.advance; }
//设置信息面板长宽 if (width <=253 && width > 173) { DisplayPanel.rectTransform.sizeDelta = new Vector2(width, 245); } elseif (width < 173) { DisplayPanel.rectTransform.sizeDelta = new Vector2(173, 245); } else { int line =(int)(width /253); //Debug.Log("行数"+line ); DisplayPanel.rectTransform.sizeDelta = new Vector2(300, 245+line*27); } }