今天項(xiàng)目有些獲取不到Sprite來研究一下
Image image;
Image image1;
Sprite sp;
Sprite sp1;
// Use this for initialization
void Start()
{
image = transform.Find("Image").GetComponent<Image>();
image1 = transform.Find("Image (1)").GetComponent<Image>();
sp = Resources.Load<Sprite>("006_icon_plant1_1") ;
sp1 = Resources.Load<Sprite>("006_icon_plant1_2") ;
image.sprite = sp;
image1.sprite = image.sprite;
image.png
圖中兩個Image 腳本掛Canvans上
然后運(yùn)行
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
神奇的事情發(fā)生了右邊獲取不到原因估計(jì)是overrideSprite和sprite屬性是兩個不同的容器
然后第一個sprite沒有被賦值
image.sprite = sp;
image1.overrideSprite = image.overrideSprite;
這樣不給override值呢
image.png
這竟然可以
總結(jié) 如果圖有Sprite值可以獲取到其overrideSprite值 反之不能
之前用luaframwork框架的sprite賦值圖片直接沒效果 只能用overrideSprite