お電話でのお問い合わせ
電話をかける
電話をかける メニューボタン
お知らせカリキュラム・料金教室紹介無料体験授業

フタバゼミ
ゼミノート

【Unity C#】ある条件になった時だけ実行可能にする(bool型)

boolでフラグを立てて、ある条件になったときだけ、実行可能にできるしくみを作ってみましょう。

キューブにぶつかれば、「Press EnterKey to Retry」が表示。

Enterキーを押すと、シーンが再ロードされてリトライできます。

ぶつかっていない時に、いくらEnterキーを押しても、リトライはできません。

テキストの準備

平面、Cube、Sphereのオブジェクトを用意して、色をつけました。

Cubeには、Finishのタグをつけ、トリガーにするにチェックを入れます。

テキストを作成して、テキスト名をRetryTextに。

テキストフィールドには「Press EnterKey to Retry」を入力します。

Canvasを選択し、画面の拡縮によって自動調整される「画面サイズに拡大」を選びました。

ゲームビューにはこのように配置されています。

テキストフィールドの文字は消しておきましょう。

boolによるフラグ設定

boolを使い、ぶつかり判定のtrue、falseをつくります。

まずは空のオブジェクトを作成しましょう。

TextControl.csを作成し、GameObjectに追加します。

TextControl.csを記述します。

GameObjectにRetryTextフィールドができたので、RetryTextを入れます。

プレーヤーのスクリプト

続いて、プレーヤー側を作成しましょう。

Sphereにリジッドボディを追加します。

PlayerMove.csを作成して、Sphereに追加します。

PlayerMove.csを記述しましょう。

速度のフィールドができるので、プレーヤーのスピードを入力します。

ゲームプレイして動きを確認しましょう。

Cubeに当たれば、「Press EnterKey to Retry」が表示されて、Eneterキーを押すとリトライできます。

「Press EnterKey to Retry」が出ていない間、Enterキーを押してもリトライできないことも確認しましょう。

スタート時、isGameOverはfalseに。

Cubeにぶつかった時、Retry()を実行して、isGameOverがtrueに変わります。

isGameOverがtrueになっている時だけ、Enterキーでシーンを再ロードできる仕組みです。