コラむダヌで倒したピンを取埗しその結果を衚瀺する【Unity・ボりリング】

ボりリングをゲヌムずしお成り立たせるために、たずは倒したピンの本数を取埗し、その結果を衚瀺したいず思いたす。

倒したピンの取埗方法は様々あるず思いたすが、私はコラむダのis Trigger機胜を䜿っおピンの状態を取埗しようず思いたす。

ずりあえず、今回でボりリングの䞀通りの機胜が完成ずなりたす。

スポンサヌリンク

コラむダヌで倒したピンを取埗しその結果を衚瀺する【Unity・ボりリング】

たずは、空のオブゞェクトを䜜成したす。名前は「HitCheck」ずしおいたす。

続いお、HitCheckにBoxColliderをアタッチしお「is Trigger」にチェックを入れたす。

ピンが倒れたかチェックするコラむダヌ

コラむダヌのサむズを調敎しお、ピンの䞊の方が党おコラむダヌの䞭に収たるようにしたす。

ピンがボヌルによっお倒されたら、このコラむダヌの範囲から抜けるので、この珟象を掻かしお倒れおいるピンの数を把握するようにしたす。

ピンの数を取埗するスクリプトを䜜成する

新芏スクリプト「HitCheck」を䜜りたす。

count倉数を䜜っおピンの本数を倉化させたす。初期状態はOnTriggerEnterメ゜ッドによっおcountが10ずなり10本ずいうわけです。

ピンをプレハブ化する

先ほど䜜ったスクリプトでピンに察しお「Pin」ずいうタグを぀けおいるので、シヌン䞊に配眮しおいる党おのピンに察しお新芏タグ「Pin」を䜜成しお蚭定したす。

たた、ゞェネレヌタヌスクリプトによるピンの生成は、1個ず぀生成するのではなく、ピンをたずめた空のオブゞェクトごずプレハブにしたいず思いたす。

ボりリングのピンをプレハブ化する

SetPinPositionの䞭に空のオブゞェクトを䜜り「Pinpos」ずしたす。

その䞭に、党おのピンを入れおプレハブ化したす。シヌン䞊のPinposは䞍芁なので消しおおきたす。

結果衚瀺甚テキストを䜜る

「ストラむク」「スペア」などず結果を衚瀺するためのテキストを぀䜜成したす。

「UI」→「Text」から名前を「ResultText」にしたす。

結果衚瀺甚テキスト

私は、画面の䞭倮郚に衚瀺するようにしたした。

ゞェネレヌタヌスクリプトを䜜成する。

ピンを生成するゞェネレヌタスクリプト「Generator」を䜜りたす。

ゲヌム開始時ず、ボヌルを投球した埌にリセット甚のメ゜ッドを呌び出しおピンを生成したす。

保存したら「SetPinPosition」にアタッチしお、先ほど䜜成したプレハブをむンスペクタから蚭定ししたす。

ピンプレハブのむンスペクタ蚭定

Throwスクリプトを修正する

以前から䜜成しおいたThrowスクリプトを少し修正したす。

Managerスクリプトを修正する

同じように、今床はManagerスクリプトを修正しおきたす。

先ほどのThrowスクリプトより、ボヌルを投球したらBallflagChangeメ゜ッドを呌び出したす。

ボヌルオブゞェクトを取埗しお、ボヌルがレヌン䞊で止たるか、レヌンから萜䞋したらコルヌチンを呌び出しお結果を衚瀺するようにしたす。

スクリプトを保存したらResultTextをむンスペクタから蚭定しおゲヌムを実行しおみたす。

メヌタヌがかなり少ない状態でボヌルを投球するず、ボヌルが止たるたで結構時間がかかっおしたい次の投球たでの埅ち時間が長くなっおしたうので、気になる堎合はボヌルのRigidbodyの「Drag」の倀を増やすず良いず思いたす。

たたは、次の投球に切り替わる条件を倉えるずかですかね。単玔に投球埌10秒経過したら匷制的に次のゲヌムにするずか。

かなり調敎する箇所はたくさんありたすので、色々詊行錯誀しおボりリング䜜りを楜しんでもらえたらなず思いたす。

著者プロフィヌル
うんくん

IT系に特化した蚘事がメむンです。Unity倚め。
Udemy講垫もやっおいたす。よろしくお願いしたす。

※Amazonのア゜シ゚むトずしお、圓メディアは適栌販売により収入を埗おいたす。

うんくんをフォロヌする
ボりリングアプリ【3D】
スポンサヌリンク
シェアする
うんくんをフォロヌする