ただ、ボタンを表示させたくない

以外に対応に時間がかかっていたのでまとめておこう。

「ボタンは存在する」けど、「見せたくない」または「見えないようにしたい」。

◆参考サイト

enabledと、interactalbeと、setActiveで動きが微妙に違う。注意点もそれぞれ違うので、必要に応じて使い分けた方が良いみたい。

多分、サンプルを作って見て自分で動きを確認した方が一番良いと思われる。

SetActiveで非表示

私がやりたいのは、「広告非表示」を購入してくれた場合は、「Disable Ads(広告非表示)」ボタンそのものを見せないこと。

なので、一度初期で購入を確認したら、永遠に表示する必要はなし。SetActiveで簡単に済ませるとしました。

GetComponentであの子を探すという作業も負荷が高いので、pulicにして、直接アタッチさせるつもりです。

これはおそらく、ボタンが少ないからできるんでしょうねー。ボタンが多ければ多いほど、GetComponentでFindするなりした方が楽(あくまで楽)だと思われます。

GetComponentは負荷が大きいらしいのでほどほどに使おう。

まずは、UI使うね宣言。

using UnityEngine.UI;

あとはpulic Button枠を準備。

public Button disableAdsButton;

実際は、課金してくれたら非表示にする予定ですが、とりあえずsetActiveをfalseにして非表示にさせます。

// Use this for initialization
void Start () {
  disableAdsButton.gameObject.SetActive (false);
}

disableAdsButtonさんのGameObjectの状態を「false」にしてやりました。これで終了。

私の場合、Admobを表示している、空のオブジェクトのスクリプトにこれを入れています。なので、それを開くと、publicのボタンが設定できるように。

そこに、非表示にしたボタンをアタッチ。動かしてみると、非表示になっています。

 

簡単ですが、初めてやるときはもっと簡単にできるものだと思っていたので、ちょっとまどろっこしいというのが感想です。