Unity 2Dゲーム開発日記 16日目 ~4.6UIをスクリプトから変更~
4.6のUIをスクリプトから変更
表示位置とサイズを変える。
public Button button; RectTransform buttonRect; buttonRect.anchoredPosition = new Vector2(100, 100); buttonRect.sizeDelta = new Vector2(100, 100);
こんな感じで色々できる。
Unityメモ ~スクリプトからUIオブジェクトを取得~
今まで何も考えずpublicでTextとかを宣言して、ドラッグして入れたりしてたけど、めんどくさいなと思うことがあったのでスクリプトから書くようにした。
多分忘れないけど、メモしておく。
using UnityEngine.UI; Text text1; void Start() { text1 = GameObject.Find("Text1").GetComponent<Text>(); }
記事として書いてて、書かなくてよかったって思った。
それなりに見てる人が多い。
Unity5とアニメーション
Unity4からUnity5へ移行のお話。
Unity5になって作っていた2Dのアクションゲームの作業を進めようとしたら、プレイヤーの挙動がなんかおかしい!
なんかゆっくり落ちるんだ。
重力がおかしいのか?と思って重力確認してもおかしくないし、Rigidbody消してみたりしても直らない。スクリプトも特に関わってそうなとこないし...
何が起こってるのか分からない。
って感じでぼーっと音楽聞きながら1時間ほど経ってた。
名付けて、「色々消してみるデバッグ」でアニメーターを消してみたらちゃんと動いた。
むむ、Unity5になってアニメーション系が変わって影響が出てるんだなっと気づいた。
ぐぐったら、テラシュールブログさんに行き着きました。
お世話になっております。
Unity5でRoot Motionを利用したアニメーションと、その注意点について - テラシュールブログ
ほぉ〜っといった感じだ。
つまり、Apply Root Motionのチェックを外したら直った。
めでたし。
Unity5にまだついていけてない;o;
Unity メモ ~InputFieldで日本語入力~
こんにちは。
Unity5出ましたね。
何ができるようになったのかまだあまり分かってないけど。
InputFieldで日本語が打てない!
InputFieldに日本語打ってなんかするみたいの作ろうと思ったら、何か言葉(日本語で)打ち込んでエンター押したら消えちゃう! みたいなことが起こって、ぐぬぬ。ってなってた。
でも、解決しました。
InputField の Inspector View に Line Type がある。
これを Multi Line Newline にする。
これだけ。
めでたしめでたし。
Unity メモ ~ Color ~
Colorをいじっていて詰まったからメモする。
UIのImageとButtonの色をスクリプトから変更しようとしたの。
最初は
Button.image.color = new Color(Random.Range(0,255), Random.Range(0,255), Random.Range(0,255));
って書いててランダムに色を付けようとしたんだけど、あれ、色が変わらない...ってなってた。
ドキュメントよく見てたら、青は(0,0,1,1)ですとか書いてあって。
つまり、0~255じゃなくて0~1だった。
ほんとしょうもないところで悩んでたなと思った。
直したやつは
Button.image.color = new Color(Random.value, Random.value, Random.value);
って感じになった。
Random.valueは0~1からfloatで取ってきてくれるからちょうど使えた。
こういうの人に聞いたりすると一瞬で分かるんだよなぁ。