UnityFAQ のバックアップソース(No.1)

Unityでゲームを作るにあたり実際につまづいた点などをまとめてみました。
同様の疑問を持つ人もいるかと思うので、それぞれの疑問をFAQとして共有できればと思いページを作成してみました。


**MonoDeevelop Ctrl Z できるけど Ctrl Y できない? [#cca0a881]
→Shift + Ctrl Z が ReDo機能

**UIが動かない時の対処 [#h7946a9c]
→EventSystemが存在しているか?
→2つ以上のUIが重なっていないか?

UIをタッチした場合手前のものしかタッチされないという仕様。
その為ボタンが入り乱れる場合
#code(csharp){{
Button.GetComponent<Button> ().interactable = true;
}}
でボタン機能そのものをONOFFするよりも
#code(csharp){{
Button.gameObject.SetActive(true);
}}
のようにボタン自体ONOFFした方が良いと思われる。

と思ったが今度はsetActiveがfalseの時Find系に発見されなくなるなど使い分けが必要な模様。

**他のシーンで作ったUIのPanelが動かない [#j40dcaa9]
→Canvasのサイズが一致していない可能性
CanvasScalerの値を一致させると治ることがある。

**シーン再生中に動的にUIやらゲームオブジェクトを生成する場合 [#ceb7a77a]
inspector上でアタッチする方法は使えない。(はずである)
→Find系を使用する。

**RectTransformについて [#m957bb0b]
RectTransformはTransformと違い、PresetAnchorによって構成要素の名前がたびたび変わる。

たとえばPosYとTopの指定の違いやWidthとXdeltaの指定の違いなど、一見するとどうしてこれが違ってるのだろうということが起こりうる。

unityのCreateでuGUIのテキストやパネルは初期設定で異なるPresetAnchorが指定されていることもあり、知らないと混乱を招く。