Как портировать игру под Android? Unity (переделать управление)
Помогите пожалуйста. Делаю курсовую работу на тему :"Игры на мобильные устройства", но в C# я не очень давно. Сначала я написал игру под ПК в стиле TDM (Top Down Shooter). С помощью джойстика (asset) начал делать управление. Начались следующие проблемы:
- при старте / после остановки движения, персонаж поворачивается на 90 градусов вправо;
- при нажатии на джойстик передвижения персонаж делает выстрел;
- ShootPoint (выстрел) постоянно уходит в рандомные позиции, а из-за одновременного срабатывания на джойстик передвижения может даже себе нанести урон.

public class PlayerMovement : MonoBehaviour
{
protected Joystick joystick;
public float moveSpeed = 5f;
public Rigidbody2D rb;
public Camera cam;
public int health = 100;
Vector2 movement;
Vector2 mousePos;
public HealthBar healthBar;
public int currentHealt;
// Update is called once per frame
void Start()
{
joystick = FindObjectOfType<Joystick>();
currentHealt = health;
healthBar.SetMaxHealth(health);
}
void Update()
{
movement.x = joystick.Horizontal;
movement.y = joystick.Vertical;
mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
}
void FixedUpdate()
{
rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
//Vector2 lookDir = mousePos - rb.position;
float angle = Mathf.Atan2(joystick.Vertical, joystick.Horizontal) * Mathf.Rad2Deg -90f;
rb.rotation = angle;
}
}
public class shooting : MonoBehaviour
{
public Transform firePoint;
public GameObject bulletPrefab;
public float bulletForce = 20f;
// Update is called once per frame
void Update()
{
if (GamePause.GameIsPause)
{
} else
{
if (Input.GetButtonDown("Fire1"))
{
Shoot();
SoundManagerScript.PlaySound("fire");
}
}
}
public void Shoot()
{
GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
Rigidbody2D rb = bullet.GetComponent<Rigidbody2D>();
rb.AddForce(firePoint.position * bulletForce, ForceMode2D.Impulse);
}