![](https://webhoric.com/wp-content/uploads/2014/03/unity3d-3.jpg)
目次
C#スクリプトでImageのGetComponentが補完されないときの対処法
しばらく滞っていたゲームアプリ開発を再開します。
自身のモチベーション維持のため学習記録を残していきます。
Unityを使ったゲームアプリ開発のメモです。
■環境
Unity5.6.2
Mac OS Sierra 10.12.5
![Unity_5_6_2f1_Personal__64bit__-_test0622_unity_-_room1-317_-_iPhone__iPod_Touch_and_iPad__Personal___OpenGL_4_1_.png Unity 5 6 2f1 Personal 64bit test0622 unity room1 317 iPhone iPod Touch and iPad Personal OpenGL 4 1](https://webhoric.com/wp-content/uploads/2017/06/unityUnity_5_6_2f1_Personal__64bit__-_test0622_unity_-_room1-317_-_iPhone__iPod_Touch_and_iPad__Personal___OpenGL_4_1_.png)
GameObject>UI>Imageから追加したImageオブジェクトをスクリプト上で呼び出す時に
GetComponentができませんでした。
解決方法
Classの宣言上にUnityEngine.UI;を追加する。
using UnityEngine.UI;
![Assembly-CSharp_-_Scripts_aboutitem_cs_-_MonoDevelop-Unity.png Assembly CSharp Scripts aboutitem cs MonoDevelop Unity](https://webhoric.com/wp-content/uploads/2017/06/unityAssembly-CSharp_-_Scripts_aboutitem_cs_-_MonoDevelop-Unity.png)
GetComponentの後にImageが入力補完されます。
this.gameObject.GetComponent<Image>().enabled = true;
画像ファイルを変更する場合の書き方。
インスペクタでスプライトを指定。
public Sprite chgSprite;
void Start () {
Image buttonimg = this.gameObject.GetComponent<Image>();
buttonimg.sprite = chgSprite;
}
コメント