本記事はテキストの目次を掲載しています。本テキストは以下より入手できます。
「中学生向けUnity入門 Unityを使ってゲーム作成にチャレンジ」シリーズの第2弾。
今回のサンプルプログラムは本格的な「2D縦スクロール アクションゲーム」!
地下深くのダンジョンに迷い込んだ少年。そこにはサソリやヘビ、クモのような敵が待ち構えています。このダンジョンで敵を倒しながら地上への出口を目指します。
そして、特集としてたくさんの「子供向けプログラミングコンテスト」を詳しく紹介しています。
そこには各コンテストの攻略のヒントも掲載。
ぜひプログラミングコンテストの参加を考えている人は参考にしてみて下さい!

【目次】
はじめに
【中高生向けUnity入門シリーズについて】
【本テキスト(第2章)について】
【キャラクター紹介】
第2章.
Unityで「2D縦スクロールアクションゲーム」を作ってみよう
Unityで「2D縦スクロールアクションゲーム」を作ってみよう
第2.1章.【特集】プログラミングコンテスト
2.1.1. プログラミングコンテストの種類
【プログラミングコンテストの種類】
2.1.2. 各プログラミングコンテストの詳細
【子供向けプログラミングコンテストリスト】
【各プログラミングコンテストの詳細】
① Unityインターハイ
② 全国小中学生プログラミング大会
③ U-22プログラミングコンテスト
④ アプリ甲子園
⑤ TECH KIDS GRAND PRIX
⑥ 日本ゲーム大賞U18部門
⑦ ゲームクリエイター甲子園
⑧ PCNこどもプロコン
第2.2章. アクションゲームを作ってみよう
2.2.1. Unityでのゲーム作成の手順
【Unityでのゲーム作成手順】
【今回のゲーム作成手順の詳細】
2.2.2. プロジェクト単位・シーン単位の作業
【今回のゲーム作成手順の詳細】
2.2.2. プロジェクト単位・シーン単位の作業
【プロジェクト単位の作業】
① プロジェクトの新規作成
② Unityへ素材の取り込み
③ プラットフォームの設定
【シーン単位の作業】
① シーンの新規作成
2.2.3. PlayerにPhysicsの設定
【PlayerにPhysicsを追加】
① シーンへPlayerを配置
② Playerの位置を設定
③ PlayerにPhysicsコンポーネントを設置
【参考】【Rigidbodyでの回転制限(Freeze Rotation)】
【参考】【理想のコライダーの形と大きさ】
【床部品のPrefab作成】
① 床部品Block_Mainの設定
② 床部品Block_MainのPrefab化
【参考】【Prefabとは】
【参考】【Prefabの作成法】
③ 床部品Block_Edgeの設定
④ 床部品Block_EdgeのPrefab化
【ベースとなる床の設置】
① シーンへ床のPrefab_Block_Mainを配置
【参考】【Projectビュー内のオブジェクト名が長い場合】
② シーンへ床のPrefab_Block_Edgeを配置
③ Hierarchyビューで床のPrefabをフォルダにまとめる
【参考】【空のオブジェクトとは】
【Physics設定後のテスト】
2.2.4. Playerと敵の移動機能を作成
【Playerの移動機能の作成】
① スクリプトの作成とプログラミング
【参考】【Visual Studioが起動しない場合】
【参考】【プログラムに書き間違えがある場合】
【参考】【初心者のよくあるミス】
【参考】【プログラムの詳細説明:PlayerController】
② スクリプトをオブジェクトに関連付け
【参考】【スクリプト内のPublic変数】
③ ゲーム実行をしてテスト
【敵(サソリ)の移動機能の作成】
① シーンへ敵(サソリ)を配置
② 敵(サソリ)の位置を設定
③ 敵(サソリ)にPhysicsコンポーネントを設置
④ スクリプトの作成とプログラミング
【参考】【プログラムの詳細説明:EnemyController】
【参考】【プログラム内でのコメントアウト】
⑤ スクリプトをオブジェクトに関連付け
⑥ ゲーム実行をしてテスト
【参考】【Sceneビューでのゲーム実行確認】
【カメラのPlayer追従機能の作成】
① スクリプトの作成とプログラミング
【参考】【プログラムの詳細説明:CameraController】
② スクリプトをオブジェクトに関連付け
③ ゲーム実行をしてテスト
【ジャンプテスト用に低階層ステージ作成】
① ベースの床を複製
② 各階層の床の作成
③ 敵(サソリ)を配置前にPrefab化
④ 敵(サソリ)をシーンへ配置
⑤ ゲーム実行をしてテスト
【背景の作成】
① シーンへ背景を配置
② 背景の位置を設定
2.2.5. 敵との当たり判定処理の作成
【ゲームオーバー処理の作成】
① ゲームオーバーのUIを作成
【参考】【UnityのUser Interface】
【参考】【色の設定方法】
② スクリプトの作成とプログラミング
【参考】【プログラムの詳細説明:GameManager】
③ スクリプトをオブジェクトに関連付け
【敵の当たり判定処理設定】
① スクリプトに当たり判定処理の追加
【参考】【プログラムの詳細説明:EnemyController】
② 敵(サソリ)Prefabの設定変更
【参考】【タグ(Tag)の使用】
③ 敵(ヘビ)Prefabの作成
④ 敵(クモ)Prefabの作成
【Playerの当たり判定処理の作成】
① スクリプトに当たり判定処理の追加
【参考】【プログラムの詳細説明:PlayerController】
【ステージに敵の配置】
① 敵(ヘビ)をステージに配置
② 敵(クモ)をステージに配置
【敵との当たり判定のテスト】
① ゲームオーバーのテスト
② 敵を倒すテスト
【リスタート機能の追加】
① リスタートボタンのUIを作成
② ボタンにリスタート処理を設定
③ ゲーム実行をしてテスト
2.2.6. ゴールでの当たり判定処理の作成
【ゲームクリア処理の作成】
① ゲームクリアのシーンを作成
② ゲームクリア画面の作成
③ リスタート処理スクリプトの作成
【参考】【プログラムの詳細説明:ClearManager】
④ リスタートボタンの作成
⑤ ボタンにリスタート処理を設定
⑥ シーン間の遷移処理の設定
【参考】【シーン間遷移時の必須設定】
⑦ ゲームクリアのゴール作成
【参考】【Colliderのトリガー機能】
⑧ スクリプトにゴール通過判定処理の追加
【参考】【プログラムの詳細説明:PlayerController】
⑨ ゲーム実行をしてテスト
【ステージ落下時処理の作成】
① 見えないステージの底を作成
② ステージの底にタグを設定
③ スクリプトにステージ底の接触判定処理を追加
【参考】【プログラムの詳細説明:PlayerController】
④ ゲーム実行をしてテスト
2.2.7. キャラクターのアニメーション設定
【Playerのアニメーション作成】
① 歩くアニメーションクリップを作成
【参考】【AnimationとAnimator】
② ジャンプのアニメーションクリップを作成
③ Playerのアニメーターコントローラーを設定
④ 床のPrefabのタグを設定
⑤ Playerのスクリプトにアニメーション制御を追加
【参考】【プログラムの詳細説明:PlayerController】
⑥ ゲーム実行をしてテスト
【敵(サソリ)のアニメーション作成】
① 歩くアニメーションクリップを作成
2.2.8. ステージ作成とコンティニュー機能
【ステージの作成】
① ベースの床を複製
② 各階層の床の作成
【敵の配置】
① 敵(サソリ)の配置
② 敵(ヘビ)の配置
③ 敵(クモ)の配置
【コンティニュー機能の作成】
① スクリプトにコンティニュー機能の追加
② コンティニューボタンのUIを作成
③ ボタンにコンティニュー処理を設定
④ ゲーム実行をしてテスト
2.2.9. スマートフォンへの対応
【Playerの左右移動のスマホ対応】
2.2.10. 全スクリプトの解説と練習問題
【全スクリプトの機能一覧】
【プログラムの詳細説明】
① PlayerController
② GameManager
③ EnemyController
④ CameraController
⑤ ClearManager
【練習問題】
【回答】
第2.3章. Andoroidスマホへのインストール
2.3.1. Androidでのビルド準備
【Androidでのビルドの準備】
① Android Build Supportの確認
② Android Build Supportのインストール
【参考】【ビルド(Build)とは】
2.3.2. ビルドとインストール
【Androidでビルド】
① Platformの設定
② Android用のビルド設定
③ Androidのビルド実行
【Androidスマホへのインストール】
① Androidスマホ側の設定
② Androidスマホへapkファイルのコピー
③ Androidスマホへのインストール
第2.4章. UnityのPhysics機能
2.4.1. Physicsを用いた移動
【ゲームオブジェクトの移動方法】
【Physicsを用いた移動方法】
① Physics(物理)を用いた移動
② コンポーネントで重力をかける
【参考】【Rigidbody2Dのよくある設定】
③ スクリプトでAddForce関数使用
2.4.2. Physicsを用いた当たり判定
【ゲームでの当たり判定とは】
【Physicsを用いた当たり判定】
① Physics(物理)を用いた当たり判定
② OnCollisionを用いた衝突判定
③ OnTriggerを用いた通過判定
【参考】【衝突した相手の判定】
第2.5章. サンプルゲームで使ったC#
2.5.1. 変数の種類
【変数の種類】
【定数の設定】
【publicとprivate変数】
① アクセス修飾子
② public変数
③ private変数
【変数のスコープ】
2.5.2. 制御文:switch文
【制御文とは】
【「switch」制御文について】
① 「switch」制御文の使用法
② 「switch」制御文を使用してみよう
第3章 の 予 告
著者紹介
Sponsored Link