Skip to content

Instantly share code, notes, and snippets.

@seferciogluecce
Created November 14, 2019 19:11
Show Gist options
  • Save seferciogluecce/d42d931e71d66202ca5529d3e9f1547c to your computer and use it in GitHub Desktop.
Save seferciogluecce/d42d931e71d66202ca5529d3e9f1547c to your computer and use it in GitHub Desktop.
using UnityEngine;
public class MoveSmoothly : MonoBehaviour
{
Vector2 MinPos;
Vector2 MaxPos;
public float Speed = 2;
void Start()
{
Vector2 Size = GetComponent<SpriteRenderer>().bounds.extents;
MinPos = (Vector2)Camera.main.ViewportToWorldPoint(new Vector2(0, 0)) + Size;
MaxPos = (Vector2)Camera.main.ViewportToWorldPoint(new Vector2(1, 1)) - Size;
}
void Update()
{
if (Input.GetMouseButton(0))
{
Vector2 mousePos = (Input.mousePosition);
Vector2 targetPos= new Vector2(Camera.main.ScreenToWorldPoint(mousePos).x, Camera.main.ScreenToWorldPoint(mousePos).y);
targetPos.x = Mathf.Clamp(targetPos.x, MinPos.x, MaxPos.x);
targetPos.y = Mathf.Clamp(targetPos.y, MinPos.y, MaxPos.y);
transform.position = Vector2.Lerp(transform.position, targetPos, Time.deltaTime * Speed);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment