C'est un jeu de tire, le personnage peut aller de gauche à droite, sauter et tirer. Son arme suit la viseur (qui se place sur la souris) et donc pivote sur l'axe Z.
En revanche quand je tire, là balle va soit à droite, soit à gauche, mais si le curseur en en haut à droite de l'écran la balle doit y aller aussi.
Code : Tout sélectionner
public string nameWeapon;
public float speedAmmo;
public GameObject ammo;
public GameObject posFire;
public GameObject crossHair;
private void Start()
{
crossHair = GameObject.Find("CrossHair");
}
public void Shoot()
{
GameObject ammo_fired = Instantiate(ammo, posFire.transform.position, transform.rotation) as GameObject;
ammo_fired.GetComponent<Rigidbody2D>().velocity = new Vector2(crossHair.transform.position.x, crossHair.transform.position.y);
}
J'ai essayé aussi avec AddForce plutôt que Velocity :
Code : Tout sélectionner
ammo_fired.GetComponent<Rigidbody2D>().AddForce((transform.forward * speedAmmo) * Time.deltaTime, ForceMode2D.Impulse);
Bref, si quelqu'un pouvais éclairer ma lanterne ça serait génial