2020/03/29 サイトデザインを変更しました

【初心者でもわかる】押す長さでジャンプ力を変える 接地判定編

2 min 400 views

どうもみなさん、名無し( @7shi321)です。

この回では前回のジャンプを応用して押す長さでジャンプ力を変化させたいと思います。

今回の#1ではその骨組みとなる部分を作成していきます。

[alert title=”注意”]本記事は2Dを前提に作成していますが、3Dでもあまり変わりません。例えば、Rigidbody 2DがRigidbodyになったり、Box Collider 2DがBox Colliderになったりなど。[/alert]

押す長さでジャンプ力が変化するゲームの主な例

スーパーマリオ

主なゲームの例としてはスーパーマリオです。

マリオのジャンプは
ボタンを長く推していれば大ジャンプ
少ししか押していなければ小ジャンプ

といったボタンを押す長さでジャンプ力が変化します。

2Dマリオや3Dマリオなどのほとんどのマリオのアクションゲームにはジャンプ要素がありますが、そのほとんどは押す長さでジャンプ力が変化します。

押す長さでジャンプ力を変化させる方法

[timeline] [tl label=’STEP 1′ title=’キャラクターのオブジェクトを作成’]

Hierarchyに左クリックでCreate Emptyをクリックしてキャラクターを作成します。
[/tl] [tl label=’STEP 2′ title=’Componentを追加’]

先程追加したGameObjectをHierarchyで選択し、
右側のInspectorでAdd Componentをクリック、
Sprite RendererBox Collider 2DRigidbody 2Dを追加します。
[/tl] [tl label=’STEP 3′ title=’Spriteを選択’]

Sprite RendererのSpriteの右側にある点を押し、Assetsからキャラクターにしたい画像を選択します。

Assetsに画像がない場合は下のProjectに使用したい画像をドラッグ&ドロップします。
[/tl] [tl label=’STEP 4′ title=’Box Collider 2Dを設定’]

Box ColliderのEdit Collider、またはOffset(位置)、Size(大きさ)で当たり判定の形を合わせます。
[/tl] [tl label=’STEP 5′ title=’Rigidbody 2Dを設定’]

Rigidbody 2DのGravity Scaleを0にし、Freeze RotationのZにチェックを入れます。
[/tl] [tl label=’STEP 6′ title=’接地判定用のオブジェクトを作成’]

STEP 1で作成したGameObjectの上で左クリックし、Create Emptyをクリックして接地判定用のオブジェクトを作成します。
[/tl] [tl label=’STEP 7′ title=’Box Collider 2Dの追加’]

STEP 6で作成したGameObjectにBox Colider 2Dを追加します。
[/tl] [tl label=’STEP 8′ title=’Box Collider 2Dの設定’]

Is Triggerにチェックを入れます。

また、STEP 7で追加したBox Collider 2Dの形を設定します。

この当たり判定が地面に触れているときだけジャンプできるようになります

[alert title=”注意”]この当たり判定がキャラクターよりも大きくなってしまうとキャラクターの当たり判定を飛び出し、壁を無限にジャンプできてしまったりなどの不具合が起きてしまうのでキャラクターよりも少し小さめに設定しましょう。[/alert]
[/tl] [tl label=’STEP 9′ title=’接地判定のコードを追加’]

STEP 6で追加したGameObjectにNew Scriptをクリックして次のコードを追加します。

[/tl] [/timeline]

まとめ

以上で接地判定の設定は終了です。

次は地面となるタイルマップの作成と押す長さでジャンプ力が変化するシステムを作っていきます。

よかったらツイッターフォローお願いします!

7shi321

7shi321

(∀`*ゞ)エヘヘ

当サイトを運営しています名無しです。由来は名前が浮かばなかったので適当につけました。アイコンは「グッジョブ」と認識するか「表出ろ」と認識するかはお任せします。

FOLLOW

カテゴリー:
タグ:
関連記事

1 件のコメント

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA