Unity

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

投稿日:2018年8月24日 更新日:

今回作るゲーム

図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では沢山楽しいことができるので是非色々なゲームを作ってみて下さい♪

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

-Unity

執筆者:


  1. より:

    Unityパッケージへのリンクが消えております・・・!!

comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Unityで複数の効果音を鳴らす

SE 効果音素材入れる Assets → Import New Assetをおします 入れたい素材を選択し、Importをおします スクリプトの作成 以下スクリプトを作成して効果音を鳴らしたいオブジェ …

UnityでフォートナイトみたいなTPSを作るチュートリアル

今回つくるもの こんな感じのTPSを作ります 今回やること ステージの作成 プレイヤーの設定 プレイヤーの移動 アニメーターの設定 敵を倒せるようにする 敵の作成 ステージの作成 こちらにまとめておき …

Unity2018のArgumentException: Value does not fall within the expected rangeへの対処法

さて、Unityで2018にアップデートすると、 ArgumentException: Value does not fall within the expected rangeというエラーがずっと出 …

no image

コンボ攻撃

アニメーションの読み込み、アニメーションの名前の変更、アニメーションの遷移の設定 アニメーションの遷移の条件の設定 スクリプトの入力

UnityでLerpを使って収縮運動や往復運動をさせる

Lerpとは?

と入力すると、スタート地点から目的地まで移動量ずつ移動します [crayon-60d068cbac5136333582 …

ゲタバコ倶楽部へようこそ

  • 185419総閲覧数:
  • 295今日の閲覧数:
  • 137535総訪問者数:
  • 247今日の訪問者数:

住所
Akita,Japan

営業時間
月~日: 10:00 AM – 10:00 PM

このページはゲタバコ先生の日々思うことや活動、プログラミングの習得方法を発信するページです。
仕事のご依頼、メッセージ等、サービス概要をご覧の上で、お気軽にご連絡ください。

getabakosensei@gmail.com