【Unity】JoyStickでスプライト移動

Uncategorized
230 words

前回スプライトが表示できたので、今回はスプライト移動を実装していきます。

環境

  • Windows 11 Home 21H2
  • Unity 2021.3.11f1

手順

アセットのインポート

アセットは「Joystick Pack」を使います。

https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631

上記リンクを開いてアセットを Unity に追加します。

プロジェクトの Assets フォルダーに「Joystick Pack」が追加されます。

Floating Joystick の配置

初めに「キャンバスグループ」を配置し、

その中に「Floating Joystick」をドラッグで配置します。

スクリプトの作成

Assetsフォルダー内に C#スクリプト を作成し、次のコードをコピペします。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using UnityEngine;

public class PlayerScript : MonoBehaviour
{
public FloatingJoystick inputMove;

[Header("移動速度")]
[SerializeField]
private float moveSpeed = 1.0f;

void Update()
{
this.transform.position += this.transform.forward * inputMove.Vertical * moveSpeed * Time.deltaTime;
this.transform.position += this.transform.right * inputMove.Horizontal * moveSpeed * Time.deltaTime;
}
}

アタッチ

Unityオブジェクト と C#スクリプト を紐づけします。

キャラクタースプライトにコンポーネント「PlayerScript」を追加します。

PlayerScript の「InputMove」にヒエラルキーの「Floating Joystick」をドラッグします。

確認

実行して確認します。

参考