@ParchedNebula

Как адаптировать движение пистолета в 2d игре к джойстику?

У меня есть 2d игра, где имеется пистолет, который следит за мышкой. Недавно я сделал джойстик, как для телефона, чтобы можно было управлять и персонажем и вращением пистолета. Персонажа я смог адаптировать под джойстик, чтобы он ходил и т.п., но вот пистолет никак не смог. Вот пример кода пистолета, который должен смотреть в те же стороны, куда я иду(вращаю джойстик)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class pistol : MonoBehaviour
{
    public float offset;
    public GameObject ammo;
    public Transform shotDir;
    public Joystick Joystick;

    public float timeShot;
    public float startTime;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 difference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
        float rotateZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
        transform.rotation = Quaternion.Euler(0f, 0f, rotateZ + offset);

        if (timeShot <= 0)
        {
            if (Input.GetMouseButtonDown(0))
            {
                Instantiate(ammo, shotDir.position, transform.rotation);
                timeShot = startTime;
            }
        }
        else
        {
            timeShot -= Time.deltaTime;
        }
    }
}


В этой строке:
Vector3 difference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
float rotateZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f, 0f, rotateZ + offset);
Указано, что он должен следить за мышкой, но как сделать так, чтобы он следил за джойстиком?
(В пример могу привести игру soul knight для телефона, где при ходьбе, джойстик смотрел в ту же сторону, что и персонаж)
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы