您当前的位置: 首页 >  unity
  • 4浏览

    0关注

    193博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity2D实现Sprite根据手指滑动并且添加限制范围

我寄人间雪满头丶 发布时间:2020-07-27 19:35:06 ,浏览量:4

拖动是非常常用的功能,也非常容易实现,比如直接让物体坐标等于鼠标坐标等。本篇博客主要讲解如何实现拖拽并限制拖拽区域。 注意对象要加上collider2D。

	public float limit = 5f;
    public float speed = 2.5f;
    Vector3 oriMousePos;

    private void OnMouseDown()
    {
        oriMousePos = Input.mousePosition; //记录按下位置
    }

    private void OnMouseDrag()
    {
        //当前鼠标位置与初始鼠标点下位置的偏移量
        var offset = (Camera.main.ScreenToWorldPoint(Input.mousePosition).x - Camera.main.ScreenToWorldPoint(oriMousePos).x) * speed;

        //到达边界后执行,offset > 0是为了可以反向滑动
        if (transform.position.x >= limit && offset > 0)
        {
            transform.position = new Vector3(limit, transform.position.y, transform.position.z); //锁定位置不可越过界限
            oriMousePos = Input.mousePosition; //重置偏移,反向滑动可以立即生效
            return; //停止移动
        }

        //同上
        if (transform.position.x             
关注
打赏
1648518768
查看更多评论
0.2525s