コード例 #1
0
    private void ShootMode()
    {
        //Aim
        if (animator.GetBool("ShootModeActive"))
        {
            degrees = Input.mousePosition.y - mousePositionStart.y;
            //limits
            if (degrees > 90 * sensibilityMultiplier)
            {
                degrees = 90 * sensibilityMultiplier;
                mousePositionStart.y = Input.mousePosition.y - 90 * sensibilityMultiplier; // reseta o novo inicio para nao precisar ficar puxando o mouse
            }
            if (degrees < -45 * sensibilityMultiplier)
            {
                degrees = -45 * sensibilityMultiplier;
                mousePositionStart.y = Input.mousePosition.y + 45 * sensibilityMultiplier; // reseta o novo inicio para nao precisar ficar puxando o mouse
            }
            degrees            /= sensibilityMultiplier;                                   // sensibility
            textAimDegrees.text = degrees.ToString("n2");

            //animation ajust
            MySprite_ShootModeUpBody.transform.eulerAngles = new Vector3(0, 0, shootModeDirection * degrees);

            //flip x when in shootmode
            if (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.A))
            {
                controller.ChangeFaceDir(-1);
                shootModeDirection = -1f;
                MySprite_ShootModeUpBody.transform.localPosition = new Vector3(-1 * shootModeDirection * 0.2f, 0.44f, 0);
            }
            else if (Input.GetKeyDown(KeyCode.RightArrow) || Input.GetKeyDown(KeyCode.D)) //com else testa apenas um if, pois essa funcao eh chamada no update
            {
                controller.ChangeFaceDir(1);
                shootModeDirection = 1f;
                MySprite_ShootModeUpBody.transform.localPosition = new Vector3(-1 * shootModeDirection * 0.2f, 0.44f, 0);
            }
        }
    }