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

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

【Unity4】道路をループ生成! Prefab, 条件分岐(if文)【レースゲーム4】

Unity5.1.1p3 Personal(2015年7月)

f:id:hiyotama:20150505151209p:plain

 

前回の続きです〜

 

今の状態だと、ある程度進むと車が崖から落ちてしまいますので、道路を延々と続くようにしたいと思います〜

 

【目標】道路を無限に伸ばし、車が走り続けられるようにする

 

f:id:hiyotama:20150503174843p:plain

わかりづらくて申し訳ありません〜

道路1から道路2に入ってしばらくしたら、道路1を道路2の前方に移動させ、逆に道路2から道路1に入ってしばらくしたら、同じように道路2を道路1の前方に移動させる、というのを繰り返していこうと思います〜

 

【課題1】地面と道路をPrefab化する

まずはCourseオブジェクトをGreenオブジェクトの子オブジェクトにしましょう〜

 

f:id:hiyotama:20150503182711p:plain

子オブジェクト化

 

次にこのGreenオブジェクトをPrefabして、Prefabのコピーを2つ作ります〜

それぞれ「Green1」、「Green2」と名前をつけて下さい〜

 

f:id:hiyotama:20150503182944p:plain

Project欄へPrefab化し、コピー元削除後、Prefabを2つ生成する

 

Green2のPositionを変更して、Car1オブジェクトの後ろ側に持っていきましょう〜Green2のTransform情報を貼っておきます〜

 

f:id:hiyotama:20150503183203p:plain

position.zを1000から-1000に変更

 

【課題2】一定距離進んだら、地面を移動させる

 

以下のScript(createScript)を、MainCameraに貼り付けて下さい〜

 

 

public変数が2つあるので、それぞれGreen1とGreen2を指定してあげましょう〜

 

f:id:hiyotama:20150503185606p:plain

ドラッグ&ドロップ!

 

各Greenの長さが2000なので、Greenの中心値である1000をMainCamera超えたタイミングで、各GreenのpositionZの値がborderの値よりも小さければ、2000先の位置に移動させることができます〜

 

例えば最初のborderである1000をMainCameraが超えた時、Green1のposition.zは1000、Green2のposition.zは-1000なので、border1000よりも小さい(1000は含まない)Green2のposition.zが-1000から3000へと変更されます〜

 

次のborderである3000をMainCameraが超えた時、Green1のposition.zは1000、Green2のposition.zは3000なので、border3000よりも小さい(3000は含まない)Green1のposition.zが1000から5000へ変更されます〜というのを延々と繰り返すというわけです!

 

離れたところから見てみましょう〜

 

f:id:hiyotama:20150503191730p:plain

ゲームスタート!

 

f:id:hiyotama:20150503191815p:plain

border1000を超えた!

 

f:id:hiyotama:20150503191846p:plain

border3000を超えた!

 

非常に地味な確認となりましたが、きちんと機能しております〜

 

今回はここまでです〜

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

 

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

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

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

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

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

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

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

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