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

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

【Unity5】ひよこを動かそう!Animation, Circle Collider 2D, Rigidbody2D【フラッピーバード風2】

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


スポンサーリンク

Unity5.0.0f4 Personal(2015年5月)

f:id:hiyotama:20150513125236p:plain

 

前回の続きです〜

 今回は、画面をクリックした時、プレイヤーであるピヨを上に動かす機能を追加したいと思います〜

 

【目標】ひよこに動きを追加する!

 

【課題1】アニメーションをつける

 

アニメーションの作成方法については下のエッセンスにて詳しく書いてありますので、ご参照下さい〜

 

 

それでは、Hierarchyビューのplayer_0を選択したまま、Window>Animationをクリックしアニメーションの設定に入ります〜

 

f:id:hiyotama:20150506104953p:plain

 

アニメーションをあとから付ける場合は、再生ボタンの下をクリックするとCreate New Clipと出てきますので、ここから新規animationファイルを作成します〜

 

f:id:hiyotama:20150506110421p:plain

f:id:hiyotama:20150506110459p:plain

適当な名前でSave

 

今回はSpriteアニメーションのみを設定します〜

 

f:id:hiyotama:20150506110815p:plain

Add Property>Sprite Renderer>Spriteのプラスボタン

 

f:id:hiyotama:20150506110826p:plain

 1秒間に1回羽ばたく設定

 

f:id:hiyotama:20150506110857p:plain

羽ばたくひよこのアニメーション完成

 

【課題2】画面をクリックした時、上へ飛ぶようにする

 

続いて画面をクリックした時にひよこが飛ぶようにしましょう〜まずは、player_0のInspectorビューからAdd Component>Physics2D>Rigidbody2DとCircle Collider2Dを付けましょう〜

 

f:id:hiyotama:20150506111221p:plain

player_0設定

 

Sprite画像同士の重力や衝突判定をする時、各コンポーネントの後ろに「2D」と付いているものを使いましょう〜

2Dと3Dは互いに鑑賞し合いません〜、例えばBox ColliderとBox Collider2Dは衝突判定を行わないので、注意が必要です〜

 

ついでにgroundオブジェクトにもBox Collider 2Dを付けておきましょう〜

 

f:id:hiyotama:20150506113549p:plain

 

続いてひよこがジャンプするplayerScriptというスクリプトを作成し、ひよこに設定しましょう〜以下ソースです〜

 

 

Startメソッドでrb2Dという変数に、「GetComponent<Rigidbody2D>()」という処理を格納しています〜この変数を使うことにより、playerScript内でRigidbody2Dを使いたい度に、何度も何度もGetComponentを行う必要がなくなります〜

 

Updateメソッドにて、画面をマウスがクリックした時Jumpメソッドを実行するという処理が書かれています〜

Updateメソッド内で全ての処理を書いてしまうと冗長になってしまい、分かりにくいソースになりがちです〜ですので、機能ごとにメソッドを呼び出していく方針で進めていきます〜

 

JumpメソッドではRigidbody2Dのvelocityという処理が行われています〜

velocityは速度を表す言葉で、Vector2の情報分の速度でオブジェクトを移動させることができます〜

Vector2のXにはrb2D.velocity.xと指定しています〜これは今のX軸方向の速度を表しているので、特に力を加えないということです〜

XにはjumpForceという変数が指定されており、jumpForceは上のほうで10.0fと指定されていますので、Y軸方向へ10の速度を加えているということです〜

 

これで画面をクリックすると、ひよこがジャンプするようになりました〜

 

f:id:hiyotama:20150506114644p:plain

ジャンプするひよこ

 

ちょっとふんわりしすぎているので、ひよこに対する重力を変更したいと思います〜player_0のInspectorビューのRigidbody2Dにある、Gravity Scaleを1から3に変更しましょう〜

 

f:id:hiyotama:20150506114857p:plain

ひよこへの重力3倍

 

かなりいい感じでジャンプするようになりました〜

 

f:id:hiyotama:20150506114942p:plain

 

今回はここまでです〜

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

 

【Unity開発5】下準備【フラッピーバード風:1】

【Unity開発5】プレイヤーピヨを動かしたい!【フラッピーバード風:2】

【Unity開発5】前方に障害物を作り、くぐり抜けたい!【フラッピーバード風3】

【Unity開発5】ゲームにスコア機能を付けたい!【フラッピーバード風4】

【Unity開発5】タイトルとゲームオーバーを作りたい!【フラッピーバード風5】