スポンサーリンク
スポンサーリンク
UnityUnityメモ

Unityでキーを使ってBool型変数の切り替えを行う方法

Unity

はじめに

Unityでスペースキーを押すたびにBool型(真偽値)変数の値をtrueからfalse、またはその逆に切り替える方法を紹介します。以下の手順に従ってスクリプトを作成し、オブジェクトにアタッチすることで実現できます。

ステップ1:新しいスクリプトを作成する

まず、プロジェクトビューで「右クリック」し、「Create」→「C# Script」を選んで、新しいスクリプトを作成します。スクリプトの名前は「ToggleBool」にしましょう。

ステップ2:スクリプトを編集する

作成した「ToggleBool」スクリプトをダブルクリックして、Visual Studioなどのエディタで開きます。そして、以下のコードを追加します。

コード全体の説明

このスクリプトは、MonoBehaviourというUnityの基本クラスを継承しています。MonoBehaviourを使うことで、Unityのいろいろな機能を使うことができます。このスクリプトでは、isCheckという名前のブール型の変数を使っています。この変数は、スペースキーを押すたびにtruefalseの間で切り替わります。

各部分の説明

  • 変数の定義と初期化:
private bool isCheck = false;

ここでは、isCheckというブール型の変数を定義しています。booltrueまたはfalseのどちらかの値を持つことができます。最初はfalseに設定されています。

  • Updateメソッド:
void Update()

Updateメソッドは、Unityでフレームごとに繰り返し呼ばれる特別なメソッドです。ゲームの動作中に常に実行されます。

  • スペースキーの検出と変数の反転
if (Input.GetKeyDown(KeyCode.Space))
{
    isCheck = !isCheck;
    Debug.Log("isCheck is now: " + isCheck);
}
  • Input.GetKeyDown(KeyCode.Space): ここでは、スペースキーが押された瞬間を検出しています。GetKeyDownはキーが押されたその瞬間にtrueを返します。
  • isCheck = !isCheck;: ここでは、isCheckの値を反転させています。!は論理NOT演算子で、truefalseに、falsetrueに変わります。
  • Debug.Log("isCheck is now: " + isCheck);: 最後に、現在のisCheckの値をコンソールに出力しています。これにより、スペースキーを押すたびにisCheckの値がどう変わったかを確認できます。

全体の動き

  1. ゲームが開始されると、isCheckfalseに設定されています。
  2. ゲームが動作している間、Updateメソッドが毎フレーム呼ばれます。
  3. プレイヤーがスペースキーを押すと、その瞬間にisCheckの値が反転します。
  4. 新しいisCheckの値がコンソールに表示されます。
using UnityEngine;

public class ToggleBool : MonoBehaviour
{
    private bool isCheck = false; // Bool型変数の初期値をfalseに設定

    // Update is called once per frame
    void Update()
    {
        // スペースキーが押された瞬間を検出
        if (Input.GetKeyDown(KeyCode.Space))
        {
            // isCheckの値を反転させる
            isCheck = !isCheck;

            // 現在のisCheckの値をコンソールに出力
            Debug.Log("isCheck is now: " + isCheck);
        }
    }
}

ステップ3:スクリプトをオブジェクトにアタッチする

  1. ヒエラルキー(Hierarchy)ウィンドウで「右クリック」し、「3D Object」→「Cube」を選んで、シーンにキューブを作成します。
  2. 作成したキューブをクリックして選択します。
  3. インスペクター(Inspector)ウィンドウで、「Add Component」ボタンをクリックし、「ToggleBool」スクリプトを追加します。

これで、キューブにスクリプトがアタッチされました。ゲームを再生して、スペースキーを押すたびにコンソールにisToggledの値が出力されることを確認してみてください。

実践的な応用

このシンプルな技術は、例えばゲーム内でキャラクターが隠れる機能をオン・オフする、ライトの点灯・消灯を制御する、あるいは任意の設定の有効・無効を切り替えるなど、いろいろなシチュエーションで活用できます。

まとめ

以上の手順で、スペースキーを押すたびにBool型変数の値が切り替わるようになりました。とてもシンプルなスクリプトですが、ゲーム開発の様々なシーンで応用できるので、ぜひ試してみてください!

おすすめのアセット

「Survival Engine Online」は、マルチプレイヤー対応のサバイバルゲームテンプレートです。キャラクターの生活や戦闘、建築、農業など、豊富な機能を備えています。オンラインプレイが可能で、Unityのネットワーキングシステムを使用して簡単にマルチプレイヤーゲームを作成できます。特に初心者にも扱いやすい設計で、ゲーム開発のスタートに最適です。

スポンサーリンク
C-BA memo
タイトルとURLをコピーしました