万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    UISpriteのコピー NGUI Unity

    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);