Exception[0]

UnityとかPHPを使って色々やるとかやらないとか

【Unity】スマートボールぽいものを作ろう! - ③PrefabからInstantiateで動的生成

前回までのあらすじ。

土台と四隅を作りました。

 

 

更にそこから、Wallを何本か足し

 

f:id:acguychan:20140909002837j:plain

 

こんな感じになりました。

 

それでは今回はボールを飛ばしてみましょう。

まず、下準備としてHierarchyにあるBallオブジェクトを

Resources => Objects にPrefab化しておきます。

 

そして同じくAssetsツリーにあるScriptsフォルダを開き、右クリック => Create => C#Script を選びファイルを作ります。

名前はShoterとでもつけて下さい。

 

Shoterファイルをダブルクリックすると、Unity付属のエディタのMonoDevelopが起動します。

そこのUpdate()内を以下のように

 

※ create_shoter_vec内の座標はボールが出る位置(画像で言う右下の位置)の座標値をいれてください。

 

これで、ボールの生成メソッドはできました。

次に、このメソッドの呼び出し元を作ります。

 

ツールバー、GameObject => Create Emptyで空のGameObjectを作って下さい。

名前をMainObjectに変更。

 

そして、Materialと同じ要領でMainObjectにShoterのスクリプトを追加します。

 

f:id:acguychan:20140909004930g:plain

 

これで、Hierarchyに配置されているMainObject内のShoterスクリプトのUpdateメソッド内に書いてある左クリックでボールを生成するメソッドが反応するようになりました!

 

それでは実行してみましょう。

 

Gameウインドウ内で左クリック連打!

 

f:id:acguychan:20140909005715g:plain

 

…このようにボールが生成されたでしょうか?

もし生成されない場合は、Prefab化したBallオブジェクトの位置が違う・ボール生成時の座標がズレている などの原因が考えられるので怪しい所を修正していきましょう。

 

次はプロペラやクギなどの盤面ギミックを作っていきます。

 

関連記事一覧:

【Unity】スマートボールぽいものを作ろう! - ①RigidbodyとCollider - Exception[0]

【Unity】スマートボールぽいものを作ろう! - ②TextureとMaterial - Exception[0]

【Unity】スマートボールぽいものを作ろう! - ④isTriggerとOnTriggerEnter - Exception[0]

【Unity】スマートボールぽいものを作ろう! - ⑤Particleを使ってみよう! - Exception[0]