Синтаксис:
Используется csharp
using UnityEngine;
public class MobileControl : MonoBehaviour
{
public Transform player;
public float speed = 10f;
void OnMouseDrag ()
{
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
player.position = Vector2.MoveTowards (player.position, new Vector2(mousePos.x, player.position.y), speed * Time.deltaTime);
}
}
public class MobileControl : MonoBehaviour
{
public Transform player;
public float speed = 10f;
void OnMouseDrag ()
{
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
player.position = Vector2.MoveTowards (player.position, new Vector2(mousePos.x, player.position.y), speed * Time.deltaTime);
}
}
По сути он работает исправно, но только если Projection на камере стоит Orthographic, в противном случае объект просто занимает позицию по X на нуле, что никоим образом не совместимо с концепцией проекта. Что нужно изменить для корректной работы скрипта с перспективой?