1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者向けチュートリアル】Boltを使用してUnityで簡単なゲームを作成する-5

Last updated at Posted at 2020-08-05

こちらの記事ではアイテムの作成~Playerとの判定までを行います。

#アイテムの作成

Playerの作成が一通り終わったので、次は落ちてくるアイテムを作っていきましょう!

Imageフォルダ内StrawberryをHierarchyにドラッグ&ドロップします。Scaleの値はそれぞれ0.3くらいにしましょう。
また、アイテムも当たり判定が必要になるためBoxCollider2Dをつけておきましょう。

そして、アイテムを落下させるため新しく必要になるのは重力です。
こちらも設定していきましょう。

StrawberryにRigidBody2DをAddComponentして、いったん再生してみましょう。
BoltGame - Game - PC, Mac & Linux Standalone - Unity 2019.3.1f1 Education_ DX11 2020_07_06 15_14_55.png
ちゃんとStrawberryが落下し、Playerとの当たり判定も取れていますね。

これでアイテムの作成は完了です。

#Playerとの判定

次に、Playerと当たったらStrawberryが消える、という処理を実装していきたいと思います。

まずはPlayerの時と同じように、StrawberryにFlowMachineをAddComponentします。保存の際のグラフの名前は「ItemController」にしてください。保存出来たらItemController内のStartとUpdateノーツは消してしまって大丈夫です。その代わりにOnCollisionEnter2D(in Events/Physics 2D)というノーツを作成します。
BoltGame - Game - PC, Mac & Linux Standalone - Unity 2019.3.1f1 Education_ DX11 2020_07_06 15_26_29.png
OnCollisionEnter2Dノーツは、自身のColliderがほかのColliderと当たったときに呼び出されるノーツです。
次にComponent:Destroy(Obj)ノーツを作成します。
Destroyノーツはその名前の通り、Objに設定したオブジェクトを破棄します。
最後にSelfノーツを追加してください。
Selfノーツには自分自身のオブジェクトが格納されています。

すべて追加出来たら、以下のように繋いで下さい。
BoltGame - Game - PC, Mac & Linux Standalone - Unity 2019.3.1f1 Education_ DX11 2020_07_06 15_33_49.png
再生してみましょう。
ダウンロード.gif
ちゃんとほかのオブジェクトと当たったら消えてますね。

今はアイテムがどのオブジェクトに当たっても同じ処理をしていますが、この後プレイヤーに当たったらスコアを加算し、床に当たったら何も行わず消す、という処理を実装するためにタグを設定していきます。
あらかじめタグをオブジェクトにつけておくと、判定の際にそれを見て処理を分岐させることができます。

早速設定していきましょう。
PlayerのInspectorからUntaggetになっているタグをPlayerにします。
BoltGame - Game - PC, Mac & Linux Standalone - Unity 2019.3.1f1 Education_ DX11 2020_07_06 15_52_13.png
これでタグが設定できました。

実際にタグを見て処理を分岐させてみます。
グラフを以下のようにして下さい。
BoltGame - Game - PC, Mac & Linux Standalone - Unity 2019.3.1f1 Education_ DX11 2020_07_06 16_06_21.png
OnCollisionEnter2DのColliderには、当たったオブジェクトの情報が入っています。
Game Object:Compare Tag(tag)ノーツは、与えられたオブジェクトに設定した名前のタグが付いているかどうかTrueかFalseで返すノーツです。Tagには「Player」と入力します。
Branch(in Control)ノーツは与えられたTrueかFalseの値を見て処理を分岐させるノーツです。ExcelでいうIF関数みたいな感じですね。Trueのほうには「プレイヤーに当たった」というメッセージを設定したDebugLogを、Falseのほうには「床に当たった」というメッセージを設定したDebugLogを置いて再生してみましょう。
Stringノーツは前と同じようにString Literalを選択してください。
BoltGame - Game - PC, Mac & Linux Standalone - Unity 2019.3.1f1 Education_ DX11 2020_07_06 16_08_34.png
ちゃんとオブジェクトごとの判定が取れているのがわかりました。

これでPlayerとの判定は完了です。

今回のチュートリアルはここまでです。お疲れさまでした!
次回はスコアの実装~UIの表示までをやっていきます。
【初心者向けチュートリアル】Boltを使用してUnityで簡単なゲームを作成する-6

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?