0
点赞
收藏
分享

微信扫一扫

2D物体跟随鼠标旋转

左手梦圆 2022-04-23 阅读 77
c#unity
//摄像机选择正交模式
 private void OnPos()//射线选中
    {        
        if (Input.GetMouseButton(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            //2D射线碰撞检测  //RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero); 
            var hit = Physics2D.Raycast(ray.origin, Vector2.zero);
                                
            if (Physics2D.Raycast(ray.origin, Vector2.zero))
            {
                if (hit.transform.name.Equals("one"))//检测到转动物体
                {                                                        
                    OnRotate(hit); //进行转动 
                }
                if (hit.transform.name.Equals("two"))//检测到转动物体
                {                                                          
                    OnRotate(hit);//进行转动
                }
               
            }                   
        }            
    }
 private void OnRotate(RaycastHit2D hit)//转动方法
    {
  Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
  Vector3 direction = (mousePos - hit.transform.position).normalized;
  float angle = 360 - Mathf.Atan2(direction.x, direction.y) * Mathf.Rad2Deg;
  hit.transform.eulerAngles = new Vector3(0, 0, angle);
    }
举报

相关推荐

0 条评论