(Unity6)スマホゲームのオブジェクトをスワイプで動かす(インプットシステム)

(サンプルコード)

using UnityEngine;

public class BasketController : MonoBehaviour
{
    // ★追加(インプットシステム)
    private InputSystem_Actions isa;

    // ★追加(インプットシステム)
    private void Start()
    {
        isa = new InputSystem_Actions();
        isa.Enable();
    }

    public float moveSpeed = 5f;

    // 左右の移動制限(X座標)
    public float minX = -7f;
    public float maxX = 7f;

    void Update()
    {
        // ★追加(インプットシステム)
        Vector2 movement2 = isa.Player.Move.ReadValue<Vector2>();
        Vector3 movement = new Vector3(movement2.x, 0, 0);

        transform.position += movement * moveSpeed * Time.deltaTime;

        // 画面外に行かないように制限!
        float clampedX = Mathf.Clamp(transform.position.x, minX, maxX);
        transform.position = new Vector3(clampedX, transform.position.y, transform.position.z);
    }

    // ★追加(インプットシステム)
    private void OnDisable()
    {
        isa.Disable();
    }
}

(設定)

1)スマホ上で「左方向のスワイプ」の設定

・Left A[Keyboard]を複製する。

・複製したものを選択

・「Path」をクリック

・「Touchscreen」をクリック

・「Delta」の「Left」をクリック

・「Touch」にチェックを入れる

 

2)スマホ上で「右方向のスワイプ」の設定

・Right D[Keyboard]を複製する

*設定の復習(下記のようになればOK)


(実行結果)

・スワイプでオブジェクトが左右に動けば成功