
ども!カトサンラボのかとこうです。
この記事ではフラッピーバード風ゲームを
作る方法その6ということで、
「プレイヤーのジャンプ」
を作る方法について解説しています。
1、ジャンプ用のC#スクリプトを作ろう
まずはプレイヤーにつける
ジャンプ用のC#スクリプトを
作っていきます。
プロジェクトウインドウの+ボタンを
クリックしましょう。

そして表示されたメニューから
「C# Script」
を選んでクリックします。

そうすることで新しいC#スクリプトが
作られて名前が変更できるようになっています。

この名前を
「PlayerJump」
と入力しました。
これでC#スクリプトを
作る作業は完了です。

2、プレイヤーにジャンプ用のC#スクリプトをつけよう
次は作ったジャンプ用のC#スクリプトを
プレイヤーにつけていきましょう。
ヒエラルキーでPlayerをクリックします。

プレイヤーのインスペクターが表示されました。

そうしたらインスペクターを下に
スクロールしてAdd Componentが
表示されるようにします。

その後、プロジェクトウインドウにある
PlayerJumpスクリプトをクリックしたまま
インスペクターへ動かしていきます。

インスペクターのAdd Componentの
あたりに持って行ったらクリックを
離します。

そうすることでスクリプトが付いて
インスペクターに表示されました。

3、ジャンプ用のC#スクリプトにコードを書こう
プレイヤーにジャンプ用のスクリプトを
つけることができたら、次はコードを
書いていきましょう。
まずはPlayerJumpスクリプトを
ダブルクリックして開きます。

コードエディタが開いてPlayerJumpの
内容が表示されました。
ここに以下のコードを書いていきます。

using System.Colections;
using System.Colections.Generic;
using UnityEngine;
public class PlayerJump : MonoBehaviour
{
public int jumpPower = 500; // プレイヤーのジャンプ力を設定する
Rigidbody2D rb2d; // リジッドボディ2Dを使うための宣言
// Start is caled before the first frame update
void Start()
{
// rb2dにコンポーネントのリジッドボディ2Dを入れて上げる
rb2d = GetComponent<Rigidbody2D>();
}
// Update is caled once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) // もしスペースキーが押されたなら
{
// リジッドボディ2Dに力を加える(上方向にジャンプ力をかける)
rb2d.AddForce(transform.up * jumpPower);
}
}
}
コードを書くことができたら、
上にあるファイルを選んで
メニューを表示させます。

そしてメニューの中から
「保存」
を選んでクリックしましょう。
これでジャンプのコードを書く
作業は完了です。

4、ジャンプができるかテストプレイで確認しよう
コードを書いた次はテストプレイをして
ちゃんとジャンプができるかを確認しましょう。
テストプレイの前に一つ設定を行います。
まずPlayerをクリックします。

そしてインスペクターが表示されたら、
Rigidbody 2Dの中にある
「Constraints」
という項目を見ていきます。

Constraintsをクリックすると
いくつか項目が表示されました。
この中から、
「Freeze Rotation」
を見ていきましょう。

このFreeze RotationのZの項目を
クリックしてチェックをつけます。
ここにチェックをつけておくと
プレイヤーが何かにぶつかったり
した時に回転しなくなるんですね。

そして、今回はジャンプのテストプレイを
行いやすくするために、
「AutoSideMoveスクリプト」
をオフにしておきます。

名前の横にあるチェックを外しました。
これで横に自動で動く機能が
一時的にオフになります。

そうしましたらシーンビューの上にある
プレイボタンを押してテストプレイを
開始しましょう。

テストプレイが始まったら、
キーボードのスペースキーを
クリックします。
これでジャンプができたら
確認はOKです。

ジャンプの確認ができたらプレイボタンを
クリックしてテストプレイを終了します。
そしてオフにしたAutoSideMoveに
チェックをつけておきましょう。
これで今回の作業は完了になります。

5、まとめ
ということで、この記事では
プレイヤーのジャンプの作り方を
解説してきました。

今回作ったジャンプの機能は
スペースキーを押せば何度でも
ジャンプができるようになっています。
ジャンプの高さの調整などはまた別の
記事で解説する予定です。
次の記事では、プレイヤーをカメラが
追従するような機能を作っていこうと
思います。
それでは今回の記事は以上です。
読んでいただきありがとうございました!