はじめに
こんにちは!今回は、Unityでボタンをクリックしたときにテキストを表示し、一秒後にそのテキストを非表示にする方法を紹介します。この方法はとてもシンプルなので、初心者の方でも簡単にできますよ!
Unityを触ったことがないという方はコチラの記事から見てみてください!
ボタンの作成
- ヒエラルキーウィンドウで右クリックし、「UI」→「Button」を選びます。
- すると、CanvasとButtonが追加されます。
- Buttonを選び、インスペクターウィンドウで見た目を調整しましょう。

テキストの追加
- ヒエラルキーウィンドウで右クリックし、「UI」→「Text」を選びます。
- Textを選び、インスペクターウィンドウで表示するテキストやサイズなどを調整しましょう。

スクリプトの作成
- ヒエラルキーウィンドウで右クリックし、「Create」→「C# Script」を選びます。スクリプト名は「BallController」にしましょう。
- スクリプトをダブルクリックして開き、以下のようなコードを書きます。
コード全体の説明
このスクリプトはUnityで使われるC#のスクリプトです。ボタンをクリックするとテキストが1秒間表示され、その後消えます。
各部分の説明
- 必要なライブラリのインポート
UnityEngine: Unityの基本的な機能を使うためのライブラリ。UnityEngine.UI: ユーザーインターフェース、例えばボタンやテキストを操作するためのライブラリ。System.Collections: コルーチンを使うためのライブラリ。
- クラスの定義
ButtonScript: このスクリプトの名前。MonoBehaviour: Unityの基本クラス。これを継承することでUnityの機能を使えるようになります。
- ボタンとテキストの宣言
yourButton: ユーザーがクリックするボタン。yourText: 表示したり隠したりするテキスト。
- Startメソッド
Start(): ゲームが始まったときに一度だけ呼ばれるメソッド。yourButton.onClick.AddListener(() => StartCoroutine(ShowAndHideText()));: ボタンがクリックされたときにShowAndHideTextというコルーチンを開始します。
- コルーチン: ShowAndHideText
IEnumerator ShowAndHideText(): コルーチンという特殊なメソッド。一定の時間待つことができます。yourText.gameObject.SetActive(true);: テキストを表示します。yield return new WaitForSeconds(1);: 1秒待ちます。yourText.gameObject.SetActive(false);: テキストを非表示にします。
全体の動き
- ゲームが始まると、
Startメソッドが実行されます。 Startメソッドでは、ボタンがクリックされたときにShowAndHideTextコルーチンが実行されるように設定されます。- ボタンがクリックされると、
ShowAndHideTextコルーチンが始まります。 - コルーチンでは、最初にテキストが表示され、1秒待った後にテキストが非表示になります。
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class ButtonScript : MonoBehaviour
{
public Button yourButton;
public Text yourText;
void Start()
{
yourButton.onClick.AddListener(() => StartCoroutine(ShowAndHideText()));
}
IEnumerator ShowAndHideText()
{
yourText.gameObject.SetActive(true);
yield return new WaitForSeconds(1);
yourText.gameObject.SetActive(false);
}
}スクリプトをオブジェクトにアタッチ
- ヒエラルキーウィンドウでオブジェクトを選択し、スクリプトをドラッグしてインスペクタウィンドウにドロップします。
- インスペクタウィンドウの「ButtonScript」コンポーネントで「yourButton」「yourText」フィールドに対応するオブジェクトをドラッグ&ドロップします。

実行してみよう
- これで設定は完了です!再生ボタンをクリックして、シーンを実行してみましょう。ボタンをクリックすると、テキストが表示され、一秒後に非表示になります。
これで、Unityでボタンをクリックしてテキストを表示し、一秒後に非表示にする方法の紹介は終わりです。ぜひ試してみてくださいね!
🌀面倒なアニメーション処理、もう書かなくてOK!
「DOTween Pro」を使えば、UIのフェード、テキスト変更、移動やスケーリングなど、スクリプト1行で驚くほど滑らかにアニメーションできます。
初心者からプロまで愛用するUnity定番ツールで、ゲーム演出が一気にリッチに!
コルーチンやタイミング管理に悩んでいる人に特におすすめです。
▶ 今すぐチェック:DOTween ProをAsset Storeで見る
あわせて読みたい
ボタンや時間差処理に関する他の実用的なチュートリアルもあわせてチェックしてみましょう!
- 🔁 【Unity】簡単!n秒おきに繰り返し実行するスクリプトを作ろう
→WaitForSecondsと組み合わせればループ処理がもっと楽に! - 🕹️ Unityでクリック時に音を鳴らし、特定ボタンで音を消す仕組みを簡単実装!
→ ボタン操作で音をON/OFFしたいときにぴったり! - 🔄 Unityで簡単!ボタンを押すたびにPrefabを順番に切り替える方法
→ UI操作の幅を広げたい人におすすめ。 - ⏱️ Unity初心者必見:Invoke関数でオブジェクトを一時的に非表示にする方法
→Invokeでの時間差実行も合わせてマスターしよう! - 🎮 Unity初心者必見!クリックで動きを一時停止&再開する方法
→ UIボタンで動きをコントロールしたいときに便利。
よくある質問
- Qテキストが表示されないのはなぜですか?
- A
テキストオブジェクトが「yourText」フィールドに正しくリンクされているか確認してください。また、最初に非表示にしていた場合、スクリプトで再び表示されるか確認しましょう。
- Qボタンをクリックしても何も起こらないのはなぜですか?
- A
スクリプトがボタンに正しくアタッチされているか、ボタンの「On Click ()」設定が正しく行われているか確認してください。
- Q他の方法でテキストを非表示にすることはできますか?
- A
はい、テキストオブジェクト自体を無効化(SetActive(false))する方法もあります。ただし、今回の方法は単に表示・非表示を切り替えるシンプルな方法です。








※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。