
ども!カトサンラボのかとこうです。
この記事では、フラッピーバード風ゲームを
作る方法その5ということで、
「プレイヤーの横移動」
を作成していきますね!
1、プレイヤーの横移動用のC#スクリプトを作ろう
まずはプレイヤーの横移動用の
C#スクリプトを作っていきましょう。
最初にプロジェクトウインドウの
Assetsをクリックしておきます。

そして次にプロジェクトウインドウの
プラスボタンをクリックしましょう。

そうするとメニューが表示されるので
その中から「C#Script」を選んで
クリックします。

そうすることでプロジェクトウインドウに
新しいC#スクリプトが作られました。

名前が変更できるようになっているので
「autoSideMove」
という名前を入力して決定します。

そこまでできたら一度保存をしておきましょう。
UnityのメニューバーからFileを
クリックします。

そして表示されたメニューから
Saveをクリックしましょう。
これで保存ができました。

2、プレイヤーにC#スクリプトをつけよう
次は先程作ったC#スクリプトを
プレイヤーにつけるという作業を
行っていきます。
まず、ヒエラルキーでPlayerを
クリックしましょう。
これでプレイヤーのインスペクターが
表示されます。

そうしたら次は先程作ったC#スクリプトを
クリックしたまま動かしていきます。

プレイヤーのインスペクターの
下の方に持って行ったらクリックを
離しましょう。

そうすることで、プレイヤーのインスペクターに
AutoSideMoveスクリプトが表示されます。
これでスクリプトをつけることができました。

3、横に移動するプログラムのコードを書こう
次はプレイヤーが横に移動するプログラムの
コードを書いていきます。
まずはC#スクリプトをダブルクリックして
開きましょう。

コードエディタが立ち上がって
C#スクリプトの内容が表示されました。

この中に以下のコードを書いていきます。
コピペでも大丈夫です。
using System.Colections;
using System.Colections.Generic;
using UnityEngine;
public class AutoSideMove : MonoBehaviour
{
public int moveSpeed = 5; // 移動する時の速度
Rigidbody2D rb2d; // リジッドボディ2Dを使うための宣言
// プレイした最初に1回処理が行われる
void Start()
{
// リジッドボディ2Dをコンポーネントから持ってきてrb2dに入れる
rb2d = GetComponent<Rigidbody2D>();
}
// プレイ中継続的に処理が行われる
void Update()
{
}
// プレイ中一定時間ごとに処理が行われる
private void FixedUpdate()
{
// プレイヤーを自動で横に移動する処理
rb2d.velocity = new Vector2(moveSpeed, rb2d.velocity.y);
}
}
書き終えたら上にあるメニューから
ファイルを選択します。

そしてファイルメニューの中から
保存を選んでクリックしましょう。
これでコードを書く作業は完了です。

4、テストプレイをして横に移動するか確かめよう
コードを書くことができたら
次はテストプレイをします。
実際にプレイヤーが横に動くかを
確かめていきましょう。
シーンビューの上にある
プレイボタンをクリックします。

テストプレイが始まるとプレイヤーが
自動で右に向かって動きました。
これが確認できたら今回の作業は完了です。

5、まとめ
はい、ということで今回は
プレイヤーの横移動を作成する
という作業を行いました。

プログラムのコードを書くということに
不慣れな方もいらっしゃると思いますが、
最初はコピペでも大丈夫です。
徐々に少しずつ書いていくことに
慣れていきましょう!
ということで、今回の内容は以上となります。
読んでいただきましてありがとうございました!