ゲームを動かすためにはスクリプトを作成する必要があります。ゲームを作ろうと思うならコレがないと始まりません。
ということUnityでスクリプトを作成するために使う「C#」について解説します。
そもそもスクリプトとは?
スクリプトと聞くと「javascript」を想像する方が多いでしょうか。
パソコンを使っていると頻繁に聞く「スクリプト」ですが、単刀直入に説明すると「台本」という意味になります。
一般的に簡単なプログラムを作成する際に用いることが多くメモ帳などのテキストエディタがあればスクリプトを作成することが出来ちゃうんです。
ですから、プログラミングを始める意味でもスクリプトは初心者向きなんですね。
Unityにおけるスクリプトの役割
ゲームを作成することになるので、ゲームの台本を作成するイメージになります。
テレビドラマや映画なども必ず台本がありますが、それを同様にUnityでもオブジェクトの動き方を台本に書くことによって、オブジェクトをスクリプト通りに動かすことが出来ます。
スクリプトを作成する
実際にスクリプトを書いてみます。スクリプトも英語や韓国語と同様で「言語」の仲間です。とにかく読み書きすることがとても大切です。
指を動かしスクリプトを書いていくことで習得していきます。
テスト用のプロジェクトを作成する
テスト用としてプロジェクトの作成から始めます。
Unityを起動して右上の「New」タブを選択します。
プロジェクトの設定ですが、プロジェクト名は「Test」や「Sample」などお好みで決めてください。僕は「Test」にしました。
Templateは「2D」に変更します。
保存先を確認し、設定が完了したら右下の「Create project」をクリックします。
エディタが起動したら、プロジェクトタブ内にカーソルを移動させて右クリックします。
何やら大量の英語がずらっと並んでいますね~。英語が苦手な僕は目が回りそうです・・・
「Create」→「C# Script」と進みましょう。
するとプロジェクトウィンドウの中に「C#」と書かれたアイコンが出現しました。
何やらファイル名がよく分からないので「Test」などと変更しておきましょう。ファイル名の変更はアイコンを右クリックして「Rename」から変更できます。
続いてゲームオブジェクトを追加します。折角スクリプトを作成しても対象とする動かすモノがないことには始まりませんからね!
ヒエラルキーウィンドウから「Create」→「Create Empty」と進みます。
これでGameObjectが作成されます。作成されたばかりのオブジェクトですので当然中身は空っぽの状態であり、特に何の機能も持ちません。
先ほど作成した「Test」スクリプトをヒエラルキーウィンドウの「GameObject」にドラッグ&ドロップします。
これでスクリプトをゲームオブジェクトに結び付けることになり、スクリプトの実行ができるようになります。この作業をアタッチといいます。
先ほど説明したようにスクリプトを動かすには、何かしらのゲームオブジェクトと結びつける必要があります。
RPGの勇者なども剣を振りかざす行為や盾を使って防御する動作などアタッチして紐づけすることにより初めて動作します。
アタッチが出来ているかインスペクターで確認します。
GameObjectを選択した状態でインスペクターをクリックします。インスペクターの下の方にC#スクリプトのファイル名が表示されていればOKです。
※正しくアタッチができない場合について
ドラッグ&ドロップした際に「can’t add script behaviour callback executor」とエラーが表示され、アタッチできない場合があります。
これはスクリプト名とスクリプトの中のクラス名が異なる場合に起きます。
スクリプトを作成した際に名前を変更しましたよね?この場合クラス名もスクリプト名と同じ名前にしなければいけません。
ここの赤枠の部分です。ここが異なる場合はエラーが発生しアタッチできませんので同じ名前に統一してあげましょう。
簡単なのはスクリプト名を変更してクラス名に合わせることです。これでアタッチが出来るようになります。