読者です 読者をやめる 読者になる 読者になる

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

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

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

Unity レースゲーム uGUI チュートリアル

いつもひよこのたまごをご利用下さいましてありがとうございます!
おかげ様でチュートリアル数も10ゲーム目となりました!
チュートリアル一覧は
こちら からどうぞ!


スポンサーリンク

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】