voici le programme de déplacement, j'espère que vous pourrez m'aider, merci d'avance!
Code : Tout sélectionner
static public bool Pause;
public bool Gauche;
public bool Droite;
public bool Avant;
public bool Arriere;
public float V = 2.5f;
public GameObject Zone;
public GameObject perso;
Vector2 persoPos;
Vector2 PosAtk;
public int rotationatk;
public Transform zone;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
private void Update()
{
Rigidbody2D rb = GetComponent<Rigidbody2D>();
if (Gauche)
{
rb.bodyType = RigidbodyType2D.Dynamic;
rb.velocity = new Vector2(-V,0);
rb.AddForce(Vector2.left);
PosAtk.x = -2;
PosAtk.y = 0;
zone.transform.Rotate(0, 0, -225);
}
else {
if (Droite)
{
rb.bodyType = RigidbodyType2D.Dynamic;
rb.velocity = new Vector2(V,0);
rb.AddForce(Vector2.right);
zone.transform.position = new Vector2 (2, 0 );
zone.transform.Rotate(0, 0, + (-45) - zone.rotation.z);
}
else
{
if (Avant)
{
rb.bodyType = RigidbodyType2D.Dynamic;
rb.velocity = new Vector2(0,V);
rb.AddForce(Vector2.up);
zone.transform.position = new Vector2(0, 2);
zone.transform.Rotate(0, 0, 45);
}
else
{
if (Arriere)
{
rb.bodyType = RigidbodyType2D.Dynamic;
rb.velocity = new Vector2(0,-V);
rb.AddForce(Vector2.down);
PosAtk.x = 0;
PosAtk.y = -2;
zone.transform.Rotate(0, 0, -135);
}
else
{
rb.bodyType = RigidbodyType2D.Static;
}
}
}
}
}
void FixedUpdate()
{
}
public void HautPresse()
{
Avant = true;
}
public void HautRelache()
{
Avant = false;
}
public void BasPresse()
{
Arriere = true;
}
public void BasRelache()
{
Arriere = false;
}
public void gauchePresse()
{
Gauche = true;
}
public void gaucheRelache()
{
Gauche = false;
}
public void droitePresse()
{
Droite = true;
}
public void droiteRelache()
{
Droite = false;
}