private Vector3 mousePosition;
public float BulletSpeed;
public GameObject Bullet;
public Transform SpawnPointBullet;
public void OnMouseUp()
{
float x = SpawnPointBullet.transform.position.x - transform.position.x;
float y = SpawnPointBullet.transform.position.y - transform.position.y;
Vector2 BulletForce = new Vector2(x, y);
mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 difference = mousePosition - transform.position;
difference.Normalize();
float rotation_z = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
var ClonBullet = Instantiate(Bullet, SpawnPointBullet.transform.position, Quaternion.Euler(new Vector3(0, 0, rotation_z))); ;
ClonBullet.transform.rotation = Quaternion.Euler(0f, 0f, rotation_z);
ClonBullet.GetComponent<Bullet>().SetMoveInfo(BulletSpeed, mousePosition);
ClonBullet.GetComponent<Rigidbody2D>().AddForce(BulletForce * BulletSpeed, ForceMode2D.Impulse);
}
void Update()
{
if (Input.GetKey(KeyCode.Mouse0))
{
mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 difference = mousePosition - transform.position;
difference.Normalize();
float rotation_z = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f, 0f, rotation_z);
}
if (Input.GetKeyUp(KeyCode.Mouse0))
{
OnMouseUp();
}
}