unity探究UGUI的Image中sprite和overrideSprite的区别
【unity探究UGUI的Image中sprite和overrideSprite的区别】今天项目有些获取不到Sprite来研究一下
Image image;
Image image1;
Sprite sp;
Sprite sp1;
// Use this for initialization
void Start()
{
image = transform.Find("Image").GetComponent();
image1 = transform.Find("Image (1)").GetComponent();
sp = Resources.Load("006_icon_plant1_1") ;
sp1 = Resources.Load("006_icon_plant1_2") ;
image.sprite = sp;
image1.sprite = image.sprite;
文章图片
image.png
图中两个Image 脚本挂Canvans上
然后运行
文章图片
image.png
成功了把左边的Sprite赋值给右边
image.sprite = sp;
image1.overrideSprite = image.sprite;
这样赋值过去呢
文章图片
image.png
也可以
image.overrideSprite = sp;
image1.overrideSprite = image.overrideSprite;
文章图片
image.png 也成功了
image.overrideSprite = sp;
image1.overrideSprite = image.sprite;
如果这样呢
文章图片
image.png
神奇的事情发生了右边获取不到原因估计是overrideSprite和sprite属性是两个不同的容器
然后第一个sprite没有被赋值
image.sprite = sp;
image1.overrideSprite = image.overrideSprite;
这样不给override值呢
文章图片
image.png
这竟然可以
总结 如果图有Sprite值可以获取到其overrideSprite值 反之不能
之前用luaframwork框架的sprite赋值图片直接没效果 只能用overrideSprite
推荐阅读
- Unity和Android通信系列文章2——扩展UnityPlayerActivity
- unity|unity 在iOS平台跳转appstore
- OpenCV|OpenCV for Unity 通过WebCamTextureToMatHelper帮助类来获取摄像头的画面
- Unity中使用反射机制调用函数
- Unity|Unity 对象池
- IOS打包流程-2打包ipa
- Unity文件下载的内存优化
- Unity-对象池
- 【北亚数据恢复】EMC Unity 400存储误操作删除POOL上的数据卷的数据恢复
- Unity3d|Unity中的层级以及渲染顺序