У меня есть 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 для телефона, где при ходьбе, джойстик смотрел в ту же сторону, что и персонаж)