FC2ブログ
    08 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 10

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity】uGUIのImageがさ、絵を差し替えると大きさ勝手に変わってくれないんよね?だったらこうしたら!? 

    こんちわっす。坂内っす。

    ポケガ追い込み追いつかれそうで、なぜか鼻水でてきました。

    30日!30日リリース予定!でたらいいね!

    ってことで、今日はuGUIを使ってて、ImageファイルのSpriteを変えると、Imageコンポーネントがついてるオブジェクトの大きさがそのんまま継続されるんですけど?なんか自動で合わせてよね!って話。

    何がいいたいかっていうと、2個の絵を用意します。


    1番目の絵(400x332)


    2番目の絵(400x166)

    これで、Imageのコンポーネントを次のように用意します。


    ここで、コンポーネントのサイズを1番目の絵のサイズにします。(400x332)

    さて、ここはではいいとしましょう。

    この時点で絵を2番目に変えます。
    もちろんオブジェクト自体のサイズは400x332のままです。



    あからさまに潰れます。そらそーだ縦のサイズが332なのに、2番目の絵は縦が166ですから。

    これプログラムで絵自体のサイズにオブジェクトのサイズを合わせることできました。(ヤッタネ

    やり方はこう!


    Imageコンポーネント.GetComponent<RectTransform>().sizeDelta =
    new Vector2(変更後スプライト.textureRect.width,変更後スプライト.textureRect.height);
    Imageコンポーネント.sprite = 変更後スプライト;


    これで、いけましたよ。

    さて、引き続きポケガの開発戻ります!

    では、あでゅ~ノシ

    ******************************************
    20150127追記:コメントでSaruiwa様から教えて頂きました。thx info!

    上記ですが、Imageコンポーネント.SetNativeSize(); で1発らしいです!ごいす~
    ******************************************

    Category: 開発日記(Unity)

    tb 0 : cm 2   

    コメント

    targetImage.SetNativeSize();
    というものがあるんですけど、目的が違いますか?
    ImageのInspectorにも「Set Native Size」というボタンがあったりします。

    saruiwa #Sgr9x57I | URL | 2015/01/27 11:01 [edit]

    saruiwa様
    コメントありがとーです!
    SetNativeSizeですか!
    ちょっと確認しました!
    これですこれ!これがしたかったんです!

    ありがとうございます!勉強なります!

    halcyon system 坂内 #- | URL | 2015/01/27 12:11 [edit]

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/173-ce061562
    この記事にトラックバックする(FC2ブログユーザー)