private void variableVectorSet() { //Vélocité final après avoir charger l'arc float final_velocity = (starting_velocity * ((-1 * (Mathf.Exp(-0.5f * hold_time))) + 1)); //Ramasse la composante x du vecteur de vitesse de Steve float bonusX = calcVelBoost().x; //Ramasse la composante y du vecteur de vitesse de Steve float bonusY = calcVelBoost().y; float boolToFloat = 0; if (scriptArc.isRight) { boolToFloat = 1; } if (isGravityFunc) { //Paramètres pour fonction gravité variablesWFunction = new float[] { //Position en x de Steve transformFleche.position.x, //Position en y de Steve transformFleche.position.y, //Donne l'angle en degrées Mathf.Deg2Rad *scriptArc.getAngle(), //gravité de la planète gravity, //Vélocité final basée sur combien de temps le personnage charge son arc final_velocity, //lisse la rotation de la flèche en diminuant le module de la pente 6f, //Constante pour accélérer les balles //N'importe pas pour la flèche 1, //Bonus de vitesse donnée par Steve aux balles ou aux flèches bonusX, bonusY }; } else { //Paramètres pour fonction sin(x) variablesWFunction = new float[] { //Amplitude de la fonction sin(x) 1.8f, //Vélocité final de la fonction sin(x) final_velocity / 2.5f, //Position en x de Steve transformFleche.position.x, //Position en y de Steve transformFleche.position.y, //Donne l'angle en radians scriptArc.getAngle(), //Indique si Steve vise à droite ou à gauche boolToFloat }; } }
// Update is called once per frame void Update() { if (auSolScr.getStatusSol()) { animationSteve.SetBool("Au sol", true); } else { animationSteve.SetBool("Au sol", false); } angle = scriptSuivreSouris.getAngle(); //Debug.Log(angle); if (angle < 50 && angle > -25) { if (Input.GetKey(KeyCode.D)) { animationSteve.SetBool("D pressed", true); } if (Input.GetKey(KeyCode.A)) { animationSteve.SetBool("A pressed", true); } if (!Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.D)) { animationSteve.SetBool("D pressed", false); animationSteve.SetBool("A pressed", false); } } else if (angle > 130 || (angle < 0 && angle < -155)) { if (Input.GetKey(KeyCode.A)) { animationSteve.SetBool("D pressed", true); } if (Input.GetKey(KeyCode.D)) { animationSteve.SetBool("A pressed", true); } if (!Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.D)) { animationSteve.SetBool("D pressed", false); animationSteve.SetBool("A pressed", false); } } }