myUISpriteというUISpriteへ、hogeのUISpriteであるotherUISpriteをコピーしたい
myUISprite = hoge.otherUISprite;
だとダメ。
myUISprite.atlas = hoge.otherUISprite.atlas; myUISprite.spriteName = hoge.otherUISprite.spriteName;
と行う!
しかしさすがにこれは面倒なので、拡張クラスを生成。
・UISpriteExtend.cs
using UnityEngine; using System.Collections; /// <summary> /// User interface sprite extend. /// </summary> public static class UISpriteExtend { /// <summary> /// Copies the sprite. /// </summary> /// <param name="uiSprite">User interface sprite.</param> /// <param name="otherUISprite">Other user interface sprite.</param> public static void CopySprite (this UISprite uiSprite, UISprite otherUISprite) { uiSprite.atlas = otherUISprite.atlas; uiSprite.spriteName = otherUISprite.spriteName; } }
こう使用する。
myUISprite.CopySprite (hoge.otherUISprite.spriteName);