【超初心者向け】『メイドイン「俺」』から学ぶゲーム作り②台本(スクリプト)の書き方編


はじめに

この記事は【超初心者向け】『メイドイン「俺」』から学ぶゲーム作り①超基本編の続きです。
ここでいう台本とは、ゲーム上におけるスクリプトのことを指します。

前回のおさらい

ゲーム上において、物体を動かす台本とも言えるスクリプトは欠かせないという話でしたよね。
では実際台本の構成はどのようにすればいいのか、どのようにセリフであるコードを書いていったらいいのかを学んでいきましょう。

台本(スクリプト)とは

一言で言えば命令をして物体を動かす役割をするゲームの命です。
そしてこの台本は基本的にきっかけアクションから構成されています。

▶︎ここでいうきっかけとは

『〇〇の時に××する』の〇〇の部分にあたります。

▶︎ここでいうアクションとは

『〇〇の時に××する』の××の部分にあたります。

それではいくつか例を出して具体的な構成を見ていきましょう。

例1

プレイヤーがタッチされた時、動く。

きっかけ:プレイヤーがタッチされた時
アクション:動く

になります。

例えばこれが

プレイヤーがタッチされた時、動いて、ジャンプする。

のように一つのきっかけに様々なアクションが追加された場合

きっかけ:プレイヤーがタッチされた時
アクション:動く、ジャンプする

となるので、同じきっかけのところにどんどん足していけばいいのです。

🔽以下はUnityにおける一例🔽

void Start () //ゲームが始まった時
{
this.transform.position += transform.forward * speed * Time.deltaTime;
//この物体の位置が、向かった方向に、決まったスピードで、時間に沿って進む
Debug.Log("こんにちは");
//こんにちはという文字をログに出す
}

この場合ではゲームが始まった時という一つのきっかけに対して、移動の指示と文字表示の指示が書かれていますね。
このようにきっかけが同じなら、同じかっこの中にアクションを並列して書いていきましょう。
(まだコードの意味はわからなくて大丈夫です。同じきっかけなら同じかっこに書くんだなくらいの認識でオッケーです!)

例2

リンゴを食べた時、笑う・バナナを食べた時も、笑う。

この場合は

きっかけ:リンゴを食べた時、バナナを食べた時
アクション:笑う

となります。

これはきっかけが二つあるのでたとえアクションが同じでも別々に書かなければなりません。

🔽以下はUnityにおける一例🔽


void Update() {
if (Input.GetKey("right")) //右のボタンを押した時
{
Debug.Log("やっほー");
//やっほーという文字をログに表示させる
}
if (Input.GetKey ("left")) //左のボタンを押した時
{
Debug.Log("やっほー");
//やっほーという文字をログに表示させる
}
        }

この場合ではやっほーという文字の表示というアクションに対して右のボタンを押した場合と左のボタンを押した場合のきっかけごとにかっこがありますね。
こんな感じで例1と違ってきっかけごとにコードを書かなければなりません。

おまけ

きっかけがリンゴかつバナナを食べた時に笑うというアクションを起こす場合は
リンゴとバナナを食べたときという条件のかっこの中に笑うというアクションを足しましょう。
(この場合、リンゴだけ、バナナだけでは笑わないということになりますね。)


複合条件を含む様々な条件文のコードが気になる方はこちらから。
(※かなり参考になるのでUnity始めたての人は是非。)

まとめ

台本の書き方編はいかがでしたでしょうか?少しでも参考になれば幸いです。
次回はアニメーションの超基本について書いていきます。

『メイドイン「俺」』についてのサイトはこちらから。