Scratch → Unity対応表を使って迷路ゲームを作ってみよう

今回作るゲーム

図1.png

今回やることの説明

こんな感じの迷路ゲームを作っていきます。
今回はキャラの移動を実装していきます。
それ以外の要素はパッケージに入っているので、
パッケージのPlayerスクリプトに追記していく形で進めていきます。

迷路ゲームのUnityPackageはこちら

今回はキャラクターの移動を

図2.png
とします。

C#の基本的なルールと構造の説明

Unityで使うC#にはいくつかルールがあります。それは以下の通りですが、
今回は特に
「ゲーム開始後ずっと実行するエリア」
にコードを入力していきますので、そこに注目して下さい。

①どのような種類のコードをどこに入力するのか

②エリアとエリアは{}でとじる

この2点をおさえておけば、Scratchと大差ありません!!

図4-1.png

キャラクターの移動のプログラミング

まず、下の画像を参考にScriptsフォルダをクリックして、Playerスクリプトをダブルクリックします。
図3.png

では実際に、表を参考にしながらコードを書いていきましょう。
Scratchのブロックを積む感覚で一行ずつ打っていきます。

図5.png

表はこちらにあります。

以下の画像の四角で囲った部分を参考に入力の手順を見ていきましょう

図6.png

①このブロックは「ずっと」ではさまれているので、
「ゲーム開始後ずっと実行するエリア」に入力します。

②「もし~なら」を入力していきます。表を見てみると、
mosihyou.png
となっています。条件は違うので()の中は空欄にし、

if文
if(){}

と入力しましょう。

③条件は「Wキーが押されたら」です。
図7.png
となっていて、今回はSpaceキーではなく、Wキーなので、
if(){}の()の中にInput.GetKey(KeyCode.W))をいれます。

if文+条件
if(Input.GetKey(KeyCode.W))){}
となります。

④実行する内容は「10歩動かす」です。
図8.png
となっているので、
if(Input.GetKey(KeyCode.W))){}の{}の中に
transform.position += transform.TransformDirection(Vector3.forward * 10);をいれます。
値は10のままだと大きすぎるので0.1fなど小数にしましょう。
小数にする場合は末尾にfをつけるのを忘れずに!!

if文完成形
if(Input.GetKey(KeyCode.W))){transform.position += transform.TransformDirection(Vector3.forward * 10);}
となりました。

画面がこんな風になっていれば正解です。
図10.png

同様に他のブロックも入力してみましょう。
再生ボタンを押してエラーがないか、確認しましょう。
図9.png

正解はコチラ♪入力したら答え合わせしましょう。

図11.png

このままだとカメラがプレイヤーについていかないので、
画像のようにMainCameraをPlayerにドラッグ&ドロップします。
図12.png

全部上手くいけばコチラの動画のようになります。

因みにゴールした時に出現する演出は生徒のTacosHeroが作ってくれました。ありがとう!!
tacoshero-logo-

全部終わったら挑戦してみよう

制限時間を作って制限時間になったらスタートに戻るようにしよう

図100.png

#C#での変数の作り方はこちら

①図を参考にして変数を入力していきます。
図1.png
②変数はアクセス修飾子 型 変数名;と入力します。
アクセス修飾子については以下を参考にして下さい。
スライド1.PNG
型については以下を参考にして下さい。
スライド2.PNG
例えば他のオブジェクトでも使用可能なfloat型のgetabakoという変数を作る場合
public float getabako; と入力します。

変数のところにはpublic float TimeLimit;と入力しましょう
publicにするとプレイしながら確認できます

スペースキーを押したら巨大化or縮小化するようにしよう

図15.png
図16.png

正解はコチラ♪入力したら答え合わせしましょう。

図21.png

お疲れ様です♪

Unityでは沢山楽しいことができるので是非色々なゲームを作ってみて下さい♪

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です