見出し画像

たのしいゲームの作り方見ながらゲーム作ってみた 第四回

みなさん初めまして、こんにちは、こんばんは
Akutsuzです

書籍「たのしいゲームの作り方」を見ながらゲームを作っていきましょう、ということで、やってきております
第4回でございます

前回はチャプター2の「Unityで「はじめての」ゲームを作ろう」という部分を進めました!

シーンビューにオブジェクトを配置して、配置したオブジェクトに重力の設定をしましたねっ

今回はチャプター3を進めていきますよお


やっていく

今回は「スクリプトを書こう」というテーマですね!
ただ、紹介されているスクリプトを全文書いちゃうのは良いものかちょっとわからないので、全文書いちゃうのは避けつつ、主要なところ、抑えたいところをピックアップしながらやっていこうと思います・・・


スクリプトってなんじゃらほい


スクリプト・・・?
なんじゃそりゃ
そう思う人も多いかもしれませんので軽く説明します

一言で言うと、
「パソコンへの命令文」です
よく、プログラムとも言われますよね
Unityではプログラムのことをスクリプトって言うんです!

・・・はあ?と思われるかもしれませんね
正直僕もうまく説明できる気はしませんが、頑張ります!

「1+1」を計算してもらうよう人にお願いするには、なんと言えばいいでしょうか
「1+1の答えを求めよ」でしょうか、
「1+1を計算して」でしょうか

色々な言い方があると思います

英語圏の人にお願いするにはなんて言うでしょう
「Can you calculate one plus one」でしょうか
英語を使ってお願いすると思います

・・・では、コンピュータにお願いするにはなんと言えばいいでしょうか

コンピュータにお願いをする際に使う言語が
「プログラミング言語」と言う言語です

そしてそして、プログラミング言語を使った文章、それがあ
「プログラム」であり、今回の「スクリプト」と言うことですね!

スクリプト

スクリプトを使わなくてもゲームを作ることができるのかもしれません
僕はまだ習いたてでUnityのことをよく知っているわけではないのですが・・・

それでもゲームを作るなら、C言語、C#言語、C++言語あたりは押さえておきたい、と言う話は聞いたことがあります!
UnityではC#と言う言語を使うようなので、この機に習得しておきたいですね!

文章の中で「スクリプト」と言ったり「プログラム」と言ったりすると思いますが、
基本的にプログラムが書いてあるファイルをスクリプトという、と言った感じの包含関係で把握してもらえれば助かります!


スクリプトファイルを作っていく


プロジェクトビューのリストから「Player」フォルダーを選択してください!
この中に「PlayerController」という名前のスクリプトファイルを作っていきますっ

プロジェクトビューの左上の「+」ボタンをクリックして、

+ボタンはここだよ

プロダウンメニューから「C#Script」を選択します!

C#スクリプトはここを押して作成するのだよ

するとスクリプトファイルが作成されるので、名前をPlayerControllerに変更しておきましょう!

スクリプトファイルの名前を変更したよ


UnityのC#プログラム


○型と変数

プログラムには、
int num1;
num1 = 2;

みたいな文がありますが、

「int」の部分を「型名」、
「num1」の部分を「変数
といいます

num1 = 2;
の部分は、num1という変数の中に2という値を代入している文です

初めの「int num1;」でintという型、num1という名前の箱を形成して、
次の「num1 = 2;」でnum1の箱に2という値を格納していると想像するとわかりやすいかもしれないですねっ

型と変数のイメージ

<主な型>
int(整数型):変数に整数を格納するための型
float(小数点型):変数に小数点がつく数字を格納するための型
string(文字列型):変数に文字列を格納するための型
bool(論理値型):変数にはい(true)、いいえ(false)を格納するための型、プログラム内で条件をつけて分岐する際などに使う


○コメントアウト

//」を入れた部分以降の箇所はプログラムに影響を与えません!

例えば、デフォルトでC#スクリプトを作成した際に
「// Start is called before the first frame update」
と書いてありますが、
これはこの後に書いてある「void Start()」の部分の説明になっています

こんな感じに、
他の人や後から自分が見た時に、
各プログラムを何のために書いたのか、
なんかを説明書きとして残したい時
なんかに使えますね!

他にも
どこが原因かわからないけどエラーが起きていて、
エラーの箇所を把握するために一つ一つコメントアウトして確かめていく
と言った感じの使い方もできます!

すごく便利な機能なので覚えておきましょうっ!


○メソッド

メソッドは、下のような形をしたプログラムでし
一連の決められた作業を行い、その後型に合わせて「戻り値」と呼ばれる値を返すプログラムです!

void Start ()
{
     ・・・
}

void部分:メソッドの型、voidの場合は何も値を返さない
Start部分:メソッド名
( )部分:引数と呼ばれる、メソッドを処理するために受け取る値

今回はStartというメソッドを処理する上で引数を必要としないため、
()内に何も指定しないですが、
引数を指定する際には
(型 値)
の形で引数を受け取ります

最初の「型と変数」のところで紹介したint num1;の形とおんなじですね!
引数の部分では、処理する上での必要な変数を準備していると言った感じでしょうか

別のメソッドで例を出してみましょう!

int AddCal (int num1, int num2)
{
     return num1 + num2;
}

初めの「int」で、「return num1 + num2;」の部分によって得られる値(これを戻り値というんですねっ)の型を指定しているんですねー

「AddCal」の部分がメソッド名、
「(int num1, int num2)」の部分で、外部から受け取ってくる引数の値とその型を指定しています

こうして作ったメソッドを下記のようにして実行することで、
簡単に一連の流れを使い回すことができます

AddCal(2, 3);

これの場合、返される値は 2+3 で 5 です

長々と説明しましたが、メソッドは一連の流れを
使い回すことのできる非常に便利なプログラムなので、
ぜひマスターしたいですねっ!


PlayerControllerスクリプトを作っていくう


Player Controllerスクリプトで、キャラクターを
・プレイヤーの操作に合わせて左右に移動する
ようなプログラムを書いていきます


終わりに


と、言いたいところでしたが、ここら辺でお時間が・・・
いやー、プログラムの解説をしていたら日が暮れちまって笑

痛い痛い!缶を投げないで!
ブーイングやめて!
僕からマイクを取り上げてカラオケ大会するのやめて〜!

・・・意味わからんですね


次回はスクリプトファイルの中身を見ていきますが、
前にも言った通り、本当に重要そうなところをさらっていきたいと思ってます
うっかり全部解説しちゃうかもだけど・・・


次回、『一通り解説しちまったぜ』
この次も、サービス、サービスゥ!

いいなと思ったら応援しよう!