Programming Serendipity

プログラミングを中心に種々雑多に書き留めます

Unity5 メモ6

  • GameobjectにアタッチしないスクリプトのpublicメンバーにCameraなどのコンポーネントを適用する方法
    Projectビューからスクリプトを選択し、出てきたインスペクターに対してコンポーネントを入れることで適用できる。
  • uGUIで「画面の右から3/4の位置に固定」などのやり方
    RectTransformのAnchorがこの役割を担っている。
    画面左からパーツAを40%、Bを10%、Cを50というようにする場合、
    AのRectTransformのAnchorsのMinXを0、MaxXを0.4、BのMinXを0.4、MaxXを0.5、CのMinXを0.5、MaxXを1とすれば、
    画面サイズを変えてもこの割合が維持される。

  • 画面サイズによってフォントサイズを動的に変える
    Canvas ScalerコンポーネントCanvas生成時にデフォルトでアタッチされているので、
    そこのUi Scale ModeをScale With Scareen Sizeにする。

  • フォルダ内にあるアセットを直接読み込む
    ProjectビューのトップのAssetsフォルダ内にResourcesフォルダを作ると、
    Resources.Load()関数が利用できるようになる。そこでフォルダ内にアセットを置き、以下のように使う。
    rend.material.mainTexture = Resources.Load("glass") as Texture;
    Resources.LoadAssetAtPath()はエディタ上でしか使うことができない。

  • テキストファイルを読み込む
    .txtファイルなどをunityに読み込ませると自動的にTextAssetに変換される。
    TextAsset 変換対象一覧 → Unity - Manual: Text Asset
    そこで以下のようにできる。

TextAsset t = Resources.Load("textfile") as TextAsset;  
string[] str = t.text.Split("\n");  
  • iTweenについて
    ease-in, ease-out, 回転・拡縮・透明度変更・その他汎用的な数値の変更など
    を柔軟にアニメートするライブラリ
    Asset Storeから最新版をインポート(無料)
    基本情報と使用例 Unity - トゥイーンライブラリiTweenを使用する
    公式ドキュメント iTween Documentation
    MoveXXX系の意味の違い iTween の使い方 - Move関連

  • iTween/"oncomplete"で関数が呼ばれない場合
    呼ぼうとしている関数は、動かしているオブジェクトから呼べる関数でないといけない。
    そのオブジェクトに呼びたい関数があるスクリプトをアタッチするか、もしくはoncompletetargetプロパティでoncompleteで呼びたいターゲットを明示する。