Unityにおけるスクリプトの書き方でハマった部分について、またすぐ忘れそうなので備忘的に記事に残しておきます。
ハマる度に項目が増えると思います。
スクリプトからColorの変更ができない
UI(uGUI)のTextやImageやSpriteRendererのColor( RGB )を変更しようと思い以下のようにコードを書いたけどうまく変更できない。ちなみに白と黒への変更や、Color.redなどでの変更には反応する。
NG 間違った書き方
Image.color = new Color(50f, 60f, 70f, 1f);
OK 正しい書き方
Image.color = new Color(50f / 255f, 60f / 255f, 70f / 255f, 1f);
RGBを変更する時の引数は255で割る必要があるんですね。
Instantiateする時に回転が変更できない
オブジェクトをスクリプトから生成する。つまりInstantiateする時に第3引数(Quaternion)で回転させたいけど、うまくいかない。
NG 間違った書き方
Instantiate (obj, new Vector3(-1f, 0f, 0f), new Quaternion(90f, 0f, 0f, 1f));
OK 正しい書き方
Instantiate (obj, new Vector3(-1f, 0f, 0f), Quaternion.Euler(90f, 0f, 0f));
コメント