【Unity】コメントアウトしてスクリプトを分かりやすくしよう!

コメントアウトのやり方 Unity

こんにちは、ともくんのゲーム作り部屋にようこそ!

このページでは、

「スクリプトで何の変数を作ったのか忘れてしまった。」

「スクリプト内でコメントアウトする方法を知りたい!」

というお悩みの方に向けた内容となっています。

Unityでは、C#言語を使ってスクリプトを書いていきますが、多くのプログラミング言語にはコメントアウトという機能があります。

このコメントアウトは、スクリプト内にメモを書いておくようなもので、そのコードがどういったものなのか、何のためのコードかなどを自由にコメントとして残しておくことができます。

また、コメントアウトされている箇所はプログラムに影響を与えないので、ゲームの製作段階などで処理内容を無効化しておくのにも、コメントアウトの機能は活用できます。

そこで、このページでは、Unityのスクリプト内にコメントアウトする方法と、コメントアウトのショートカットキーやコメントアウトしておくメリットまでをまとめていきます。

この記事を書いた人

ゲーム作りを学び始めた一児のパパです。
このブログは、子供から「ゲームを作ってみたい!」と言われ、非プログラマーでゲーム作りをしたことない僕が、ゲーム作りの本を読んで独学でゲーム開発を学んでいるブログです。
同じように初めてゲーム作りをしている方と一緒に学んでいけるようなブログに出来たらいいなと思っています。
また、「このコードはおかしい」とか「もっと良い書き方があるよ!」などあれば、どんどん指摘して頂けると助かります。

Unityでコメントアウトする方法

まずは、Unityのスクリプトでコメントアウトする方法を紹介していきます。

コメントの前に「//」を付けるだけ

コメントアウトする場合は、スクリプトの中で「//」を付けてあげることで、同じ行内において「//」以降に書かれている内容をコメントアウトすることができます。

// コメントアウトされます。

コメントアウトすると、スクリプトのエディター内で緑色の文字に変わり、この部分に書かれている内容はプログラムに影響しなくなります。

使い方としては、作成した変数などの後ろに使ったり、

int life = 10; // プレイヤーの体力の変数

行頭などで処理内容のまとまりのメモとして使うといったことができます。

// 左クリックした場合
if (Input.GetMouseButtonDown(0))
{
    Debug.Log("左クリックしたよ");
}

// 右クリックした場合
if (Input.GetMouseButtonDown(1))
{
    Debug.Log("右クリックしたよ");
}

複数行のコメントは「/*」と「*/」で囲む

Unityでのコメントアウトは、基本的に先ほどの「//」を使いますが、「/*」と「*/」で囲むことでもコメントアウトすることができます。

例えば、複数行においてコメントアウトしたい場合、「//」は書いた行内のみが対象となるため、各行毎に「//」を付ける必要があり少々面倒です。

// コメントアウトされます。
// コメントアウトされます。
// コメントアウトされます。

そこで、「/*」「*/」を使うと、その間に書かれている内容を全てコメントアウトすることができます。

/*
コメントアウトされます。
コメントアウトされます。
コメントアウトされます。
*/

コメントが長くなってしまう時や、作った処理を一度無効化しておきたいなどの際に便利に使うことができます。

ショートカットキーを使うのが便利!

このコメントアウトの機能ですが、ショートカットキー「Ctrl + /」を使うことで簡単にコメントアウトすることができます。

具体的には、スクリプト内でコメントアウトしたい部分を選択した状態で、「Ctrl + /」を押すことで、一括でコメントアウトすることができます。

なお、コメントアウトしたい箇所が1行であれば、範囲を選択していなくても、その行にカーソルを置いて、「Ctrl + /」を押すとコメントアウトされます。

また、反対にコメントアウトを解除する場合は、解除したい部分を選択、もしくはカーソルを置いた状態(1行だけの場合)で、「Ctrl + /」を押すと、一括でコメントアウトの解除を行うことができます。

なお、バージョンによってショートカットキーが異なる場合があるので、注意しておきましょう。

コメントアウトしておくメリット

ここからは、コメントアウトの機能を活用するメリットについてまとめていきます。

他の人が見た時に理解しやすくなる

コメントアウトでメモを書いておくことで、そのスクリプトを他の人が見た時に、すぐに理解できるようにしてもらうというメリットがあります。

特に、ゲームを複数人で作成している場合、自分で書いていないスクリプトを見ると、

など、すぐに理解するのは難しいです。

そこで、このコメントアウトの機能を使って、何のための処理内容なのかをメモしておくことで、他の人が見た時にすぐに理解してもらうことができます。

後で見直した際にすぐに分かる

ゲームを複数人で作成しない場合であっても、コメントアウトしておくことをおすすめします。

なぜなら、自分で作成したスクリプトであっても、ゲームを制作し続けていくと、後で見直した際に何を書いているものなのかが分からなくなってしまうことがあるからです。

結局、他のスクリプトなどと照らし合わせて、何の処理だったか確認するという手間が生じてしまいます。

そのため、スクリプトを書いていく際は、できるだけコメントアウトを使っておくことをおすすめします。

処理内容を無効化しておく

コメントアウトの機能は、ただメモとして残すだけではなく、処理内容を一時的に無効化したり、実際に処理はしないけどコードを残しておきたい場合などに使えます。

具体的にコメントアウトされている部分は、プログラムの実行がされなくなり、スクリプト内に記載はされているけど、処理はされないということになります。

例えば、以下のようにスペースキーを押した際の処理内容をスクリプトの中で作っていたとします。

using UnityEngine;

public class Test : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Debug.Log("スペースキーを押したよ!");
        }
    }
}

現時点ではスペースキーを押すと、コンソールウィンドウに以下のテキストが表示されるようになっています。

この処理を別のものに変えたいけど、後で戻すかもしれないから残しておきたいといった場合に、コメントアウトが非常に便利に使えます。

using UnityEngine;

public class Test : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            //Debug.Log("スペースキーを押したよ!");

            Debug.Log("新しく変えたよ!");
        }
    }
}

スクリプト内には前の処理がコメントアウトで書かれていますが、スペースキーを押すと新しい内容だけが表示されるようになります。

このようにコメントアウトを上手に使うことで、スクリプトの内容を残しておくことができます。

まとめ

このページでは、Unityのスクリプト内で使えるコメントアウトの機能について、どのように使うのか、また便利な方法や使うメリットまでをまとめていきましたが、いかがでしたでしょうか?

Unityでコメントアウトする場合は、「//」を付ける「/*」と「*/」で囲むことでコメントアウトされて、その内容はプログラム内で処理されなくなります。

このコメントアウトの機能を使うことで、スクリプト内にメモを残したり、処理を無効化することができます。

また、キーボードの「Ctrl + /」を押すことで、ショートカットキーでコメントアウトすることができるので、覚えておくと良いでしょう。

最後までお読みいただきまして、ありがとうございました!

コメント