Help us understand the problem. What is going on with this article?

12月13日資料

バルーントリップ風のゲームをUnity PlayGroundで作る演習です。これまでの演習内容を参考に、ゲームを完成させてください。
https://qiita.com/kono3478/items/913387e7694b4c247d7c
https://qiita.com/kono3478/items/bc7971ebe7a9c0cbf2e2
https://qiita.com/kono3478/items/ed7199f56b0e4e460b24
https://qiita.com/kono3478/items/ae9cb117aa3c411deba8

1.png
https://youtu.be/m5RAKAXL9Jw
1:はじめに課題となる「バルーントリップ」のプレイ動画を観察してください

2:ゲームの仕様を決定します。Unity PlayGroundで実現できない部分は無視してかまいません。下記は一例です。他にアイディアがあれば、もりこんでもかまいません

・ゲームの目的は?
  →障害物に当たらないようにプレイヤーキャラクターを操作して風船をとり続ける
・プレイヤーキャラクターの移動方法と操作キーは?
  →左右移動:矢印キー
  →上下移動:スペースキーを押している間だけ上昇
・障害物と風船の出現パターンは?
  →ランダム
・ゲームオーバーの条件は?
  →障害物か海(地面)に当たるとライフが1個減り、3回失敗するとゲームオーバー

注意:画面中央上に「CONTINUE」ボタンを設置してください。その上で「CONTINUE」ボタンをクリックすると、ゲームを最初からやり直せるようにします。

1.png
3:Unityを起動し、任意のプロジェクトネームをつけます。その後、「2D」を選択して「Create Project」をクリックします。

4:AssetStoreからUnity PlayGroundインストールします

スクリーンショット (375).png
5:「Assets」→「Images」フォルダから、プレイヤーキャラクター、障害物、風船、地面に相当するグラフィックアセットをシーンビューにドラッグ&ドロップします。グラフィックアセットは〇などの記号でかまいません。上記は一例です
・プレイヤーキャラクター:円
・障害物:六角形
・風船:正方形

6:プレイヤーキャラクター、障害物、風船、床に対して、当たり判定をBox Collider 2DやCircle Collider 2Dで設定します

7:プレイヤーキャラクターと障害物と風船に、それぞれタグをつけます

8:動作に必要なスクリプトを設定していきます。その後、適切な動きになるようにRigitbody 2Dの値などを調整します
・プレイヤーキャラクターの左右移動:Move with Arrows
・プレイヤーキャラクターの上下移動:Push
・風船と障害物の移動:Auto Move

9:プレイヤーキャラクターが風船と障害物に衝突した際の判定に必要なスクリプトを設定します。衝突時の判定と、衝突してどうなるか(消える、消す、爆発が発生するなど)については、プレイヤーキャラクターにCondition Collisionで設定します

10:プレイヤーキャラクターにライフをHealth System Attributeで設定します

11:障害物がプレイヤーキャラクターに衝突すると、プレイヤーキャラクターのライフが減る仕組みを、Modify Health Attributeで障害物に設定します

12:同様に床がプレイヤーキャラクターに衝突すると、プレイヤーキャラクターのライフが減る仕組みを、Modify Health Attributeで床に設定します。

13:風船にプレイヤーキャラクターが衝突するとスコアが上がる仕組みを、Collectable Attributeで風船に設定します

14:一定時間経過すると自動的に消滅する仕組みを、風船と障害物に対して、Timed Self Destructで設定します

15:風船と障害物をPrefabにします

16:風船と障害物が画面左からランダムに発生する仕組みをつくります。はじめに空のGameObjectを画面左に作成し、そこに縦向きの当たり判定をBox Collider 2Dで設定します。

17:その後、GameObjectに二種類のObuject Creator Areaを設定し、それぞれに対して風船と障害物のPrefabを設定します。詳細はPlayGroundのExampleからDeffenderを参照してください。隕石が自動的に落下する仕組みが参考になります。

18:プレイヤーキャラクターが上に行きすぎないように、16と同じように空のGameObjectを作成して、横向きの当たり判定をBox Collider 2Dで設定します

19:画面中央上にCONTINUEボタンを作成します

20:CONTINUEボタンをクリックすると、ゲームがリセットされる仕組みを作ります。必要なスクリプトと設定の仕方は、11月29日資料を参考にしてください

21:Unity PlayGroundのPrefabsフォルダからUserinterfaceをゲームに設定します。詳細は10月25日資料の29を参考にしてください

22:再生ボタンを押してゲームがうまく動くか確認します。デフォルトでは風船を5個とるとゲームクリアです。リンク先は一例です

https://twitter.com/kono3478/status/1202904523653517312

kono3478
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away