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

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

【Unity1】ユニティちゃんを反転!OnCollisionEnter2D, Tag(タグ)【ユニティちゃん縦スクロール2】

Unity5.1.1f1 Personal(2015年6月) 

 

f:id:hiyotama:20150622010040p:plain

ユニティちゃんライセンス

このコンテンツは、『ユニティちゃんライセンス』で提供されています

 

前回の続きです〜

 

自動的に横移動するようになったので、次は壁にぶつかった時にキャラクターが
反転して、反対方向へ戻る動きを作りたいと思います〜

【目標】 壁にぶつかった時、キャラクターを反転させる!

 そのためには・・・


①壁衝突時の当たり判定

2Dの場合当たり判定は、「OnTriggerEnter2D」、「OnCollisionEnter2D」、「Physics2D.Linecast」の3つが代表的なもののようです〜今回はこの中から「OnCollisionEnter2D」を実装します!

  

OnCollisionEnterは、BoxCollider等のコライダーが設定されているオブジェクトにぶつかった時処理を実行します〜それの2D版ということですね〜

 

まずは壁を作りましょう〜HierarchyビューからCreate>3D Object>Cubeを選択し、以下のように設定します〜

 

f:id:hiyotama:20150622111234p:plain

Cube(壁)の設定

 

f:id:hiyotama:20150622111917p:plain

こんな感じ

 

このままだと地面にユニティちゃんが着地した時にも処理が実行されてしまいますので、Cube(壁)に「Wall」というタグを付け、Wallにぶつかった時にだけ処理を実行するようにします〜

 

f:id:hiyotama:20150622111542p:plain

InspectorビューのTagからAdd Tagを選択

 

f:id:hiyotama:20150622111643p:plain

Wallタグを作成し、

 

f:id:hiyotama:20150622111817p:plain

Cube(壁)のInspectorビューに戻りTagを設定 

 

 

②キャラクター反転処理

gameObject.transform.localScale.xに-1をかけると、画像を反転させることができます〜


③進行方向を逆転させる 

②キャラクター反転の結果、gameObject.transform.localScale.xが-1になったり1になったりするので、前回作成した特定の方向へ力を加えるvelocityのXにgameObject.transform.localScale.xかけることで、反対方向への進行を実現させることができます〜

 

 というわけで、こちらがソースです〜

 

 

【結果】

f:id:hiyotama:20150622112919p:plain

壁に向かって進み

 

f:id:hiyotama:20150622112902p:plain

ぶつかると反対方向へ

 

うまくいきました!

 

今回はここまでです〜

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

 

【Unity開発1】キャラクターを自動で移動させる【ユニティちゃん横スクロールアクション2D:1/11】

【Unity開発1】壁にぶつかった時にキャラクターを反転させる【ユニティちゃん横スクロールアクション2D:2/11】

【Unity開発1】キャラクターをジャンプさせる!【ユニティちゃん横スクロールアクション2D:3/11】

【Unity開発1】キャラクターをカメラが追いかける!【ユニティちゃん横スクロールアクション2D:4/11】

【Unity開発1】uGUIを使って点数を表示する!【ユニティちゃん横スクロールアクション2D:5/11】

【Unity開発1】タイトル画面とゲームオーバー画面を作る!【ユニティちゃん横スクロール2D:6/11】

【Unity開発1】アニメーションを付ける!【ユニティちゃん横スクロールアクション2D:7/11】

【Unity開発1】バグ発見!無限にジャンプできちゃう!【ユニティちゃん横スクロールアクション2D:8/11】

【Unity開発1】ボタン長押しでジャンプ力を強くしたい!【ユニティちゃん横スクロール2D:9/11】

【Unity開発1】足場を下から突き抜けて、そのまま乗っかりたい!【ユニティちゃん横スクロールアクション2D:10/11】

【Unity開発1】ランダムで足場を自動生成する【ユニティちゃん横スクロールアクション2D:11/11(Fin)】