我试图让我的GameObject指向鼠标。它有一个带有精灵的子对象。所有zxis上的childs旋转都设置为0。精灵在开始时指向上方(正X)。 GameObject随鼠标指针一起旋转,但它总是将其右侧朝向鼠标指针。此外,当我向前添加力时,它会在精灵指向的相同方向上加速,如前所述,这不是鼠标的方向。我的代码丢失了什么?
var cam = Camera.main;
// Distance from camera to object. We need this to get the proper calculation.
float camDistance = cam.transform.position.y - transform.position.y;
// Get the mouse position in world space. Using camDis for the Z axis.
Vector3 mouse = cam.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, camDistance));
float AngleRad = Mathf.Atan2(mouse.y - transform.position.y, mouse.x - transform.position.x);
float angle = (180 / Mathf.PI) * AngleRad;
rb2d.rotation = angle;
答案 0 :(得分:1)
由于计算解决角度的方式,您的形状会旋转90度,您可以使用以下方法解释此问题:
rb2.rotation = angle - 90;