Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Unity4】制限時間実装!uGUIText, Time.deltaTime, Time.timeScale【レースゲーム7】

Unity5.1.1p3 Personal(2015年7月)

f:id:hiyotama:20150505151209p:plain

 

前回の続きです〜

 

今回は前回作成したlevelTimeScriptに制限時間を追加します〜

countBorderを超えるたびに時間を増やしていきたいと思います〜

 

【目標】制限時間を超えた時ゲームオーバーになるようにする!

  

【課題1】制限時間を設ける

まずはGUIを作成しましょう〜といっても、前回levelのGUIを作ったのと同じやり方ですので割愛して、設定だけ載せておきます〜

 

f:id:hiyotama:20150504153042p:plain

Timeテキスト

 

f:id:hiyotama:20150504153125p:plain

こんな感じで表示される

 

それではlevelTimeScriptに加筆していきます〜

 

 

public変数にtimeGUIがありますので、Timeテキストを設定します〜

 

f:id:hiyotama:20150504153336p:plain

ドラッグ&ドロップ!

 

やっていることはStartメソッドで初期値を表示し、Updateメソッドで1秒ずつ減らしていき、MainCameraのposition.zがcountBorderを超えた時AddTimeメソッドを実行し、レベルに応じて時間を加算しております〜

Time.deltaTimeという表現がよく出てきますが、「これは1秒につき」という意味です〜例えば、Time.deltaTimeがついていないとしたら、Updateが呼ばれるごとに実行してしまうため、例えば1秒に60回Updateが呼ばれる環境だったら、1秒で制限時間が60も減ってしまい即ゲームオーバーです!

 

f:id:hiyotama:20150504154050p:plain

1秒ずつ減っていきます

 

【課題2】制限時間が無くなった時、ゲームオーバーにする

制限時間が0になった時、ゲームオーバーの文字を表示させます〜

 

それではまずはGameOver用のGUIを作成しましょう!GameOverテキストの設定を貼っておきます〜

 

f:id:hiyotama:20150713104134p:plain

画面の中心、「lilliput steps」フォント、文字色赤+アウトライン

 

f:id:hiyotama:20150504161539p:plain

こんな感じ

 

ゲーム開始時には消しておいて、ゲームオーバーになった時表示するgameOverScriptを作成し、GameOverテキストに貼っておきましょう〜

 

 

Startメソッドでこのオブジェクト(GameOverテキスト)を無効にし、Loseメソッドが呼ばれた時に有効にしております〜

 

それではLoseメソッドを読んであげましょう〜先ほどのlevelTimeScriptに戻ります〜

 

 

 

10行目にgameOverScript変数をpublicで追加し、59行目でLoseメソッドを呼び出しております〜忘れないうちに、public変数にGameOverテキストを指定してあげましょう〜

 

f:id:hiyotama:20150504162934p:plain

ドラッグ&ドロップ!

 

 これでGAME OVERの文字が表示されるようになりました〜

 

更に60行目でTime.timeScaleを0にしております〜これを実行することでゲームの中の時間の流れが止まり、例えば制限時間が進まなくなったり、プレイヤーが止まったりします〜

 

そして61~63行目で、画面をクリックした時にtitleシーンへ飛ぶようになっております〜

 

中途半端ですが、今回はここまでです〜

 

ありがとうございました〜

 

【Unity開発4】下準備【ドライビングゲーム1】

【Unity開発4】車を走らせたい!【ドライビングゲーム2】

【Unity開発4】車をジャンプさせたい!【ドライビングゲーム3】

【Unity開発4】道路を無限に伸ばし続ける【ドライビングゲーム4】

【Unity開発4】敵キャラをランダムで生成する【ドライビングゲーム5】

【Unity開発4】レベルによるスピード制限機能を追加する!【ドライビングゲーム6】

【Unity開発4】制限時間を設ける【ドライビングゲーム7】

【Unity開発4】タイトル・ゲームオーバーを仕上げる!【ドライビングゲーム8】