1. 程式人生 > >Unity Image.sprite 與 Image.overrideSprite 的區別

Unity Image.sprite 與 Image.overrideSprite 的區別

Unity Image.sprite 與 Image.overrideSprite 的區別

Override sprite is for it you want to quickly set a image without changing the original. If you want to change something on a permanent basis use sprite.
by phil-Unity (Unity UI Lead Developer) src

根據官方的說法,overrideSprite 用於臨時修改圖片,sprite 用於永久修改圖片。

可以這樣理解:overrideSprite 用於修改圖片,但是不會把原來的圖片給消除掉,直接的效果是如果 overrideSprite 是 null 的話,會變回原本的圖片。可以理解為 overrdieSprite 是覆蓋在 sprite 上的一層圖片。所以,若使用 overrideSprite 更換圖片,接下來要更換也只能用overrideSprite再覆蓋掉,除非把它置為 null,不然用 sprite 更換是顯示不出來的。

參考資料

  1. UI.Image change sprite on script
  2. Image中的overrideSprite和sprite有什麼區別嗎?
  3. Unity3D:程式碼中改變Sprite
  4. UGUI中動態改變image的sprite
  5. Image.overrideSprite
  6. Image.sprite/overrideSprite not changing
  7. Manually Update/Redraw Scene View?
  8. transform.Translate(new Vector3(0,0,0)); How do you force redraw?