当鼠标朝向另一个方向时,如何翻转物体?



所以我想要的是,当鼠标在左侧时,对象切换到左侧,当鼠标在右侧时,武器面向右侧。有什么想法吗??

public class WeaponParent : MonoBehaviour
{
public float blahblah = 90;
void Update()
{
faceMouse();
}
void faceMouse()
{
Vector2 dir = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position; 
float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
Quaternion rotation = Quaternion.AngleAxis(angle -blahblah, Vector3.forward);
transform.rotation = rotation; 

}

嘿,伙计们,我明白了。

{
public float blahblah = 90;
public float offset = 3f;
private SpriteRenderer spriteRender;
public SpriteRenderer brat; 
private void Start()
{
spriteRender = GetComponent<SpriteRenderer>();
}
void Update()
{
faceMouse();
}
void faceMouse()
{
// Vector2 dir = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position; 
// float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
// Quaternion rotation = Quaternion.AngleAxis(angle -blahblah, Vector3.forward);
// transform.rotation = rotation; 
Vector3 difference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
float rot2 = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f, 0f, rot2);
if(rot2 < 69 &&  rot2 > -69)
{
Debug.Log("Facing right");
transform.localScale = new Vector3(1, 1, 1);
brat.flipX = false; 
}
else
{
Debug.Log("Facing left");
transform.localScale = new Vector3(1, -1, 1);
brat.flipX = true; 
}






}

}

最新更新