[Unity]混用Sprite和Texture2D
2019/10
29
17:10
在UI开发过程中,经常会混用Sprite和Texture2D
public static Sprite LoadSprite(string url)
{
Sprite sprite = LoadRes<Sprite>(url, false);
if (sprite != null)
{
return sprite;
}
Texture2D tex2D = LoadRes<Texture2D>(url, false);
if (tex2D != null)
{
return Sprite.Create(tex2D, new Rect(0, 0, tex2D.width, tex2D.height), new Vector2(0.5f, 0.5f), 100.0f);
}
Log.Error("Load Sprite Fail:{0}", url);
return null;
这样是错误的,正确的规则是:
LoadSprite时,一定要设置纹理为Sprite类型,并且PackingTag不为空 规则1:如果是大的UI程序动态载入的图,不要使用Sprite类型,直接使用Texture2D,不要打图集 规则2:如果是小的UI程序动态载入的图,可以使用Sprite类型,需要设置PackingTag
CopyRights: The Post by BY-NC-SA For Authorization,Original If Not Noted,Reprint Please Indicate From 老刘@开发笔记
Post Link: [Unity]混用Sprite和Texture2D
Post Link: [Unity]混用Sprite和Texture2D