コード例 #1
0
    // Start is called before the first frame update
    void Start()
    {
        GC = FindObjectOfType(typeof(GameController)) as GameController;
        VC = FindObjectOfType(typeof(VoiceController)) as VoiceController;
        DM = FindObjectOfType(typeof(DialogueManager)) as DialogueManager;

        SpawnPowerUp = GameObject.Find("SpawnPowerUp").transform;

        Cima     = GameObject.Find("Cima").transform;
        Esquerda = GameObject.Find("Esquerda").transform;
        Direita  = GameObject.Find("Direita").transform;
        Baixo    = GameObject.Find("Baixo").transform;

        playerRigidbody = GetComponent <Rigidbody2D>();
        playerAnimator  = GetComponent <Animator>();

        BarraHP            = GameObject.Find("BarraVida").transform;
        BarraHP.localScale = new Vector3(1, 1, 1);

        dashCooldownBar = GameObject.Find("DashCooldownBar");

        joystick      = FindObjectOfType <Joystick>();
        dashJoybutton = GameObject.Find("DashButton");

        HP       = HPMax;
        percVida = HP / HPMax;

        velocidadeXBase = velocidadeX;
        velocidadeYBase = velocidadeY;
        dashTimeBase    = dashTime;

        ArmasRed[powerUpsRedColetados].SetActive(true);
        ArmasBlue[powerUpsBlueColetados].SetActive(true);
        ArmasGreen[powerUpsGreenColetados].SetActive(true);

        VC.PegaArmas();

        Shield.GetComponent <Collider2D>().enabled = false;

        StartCoroutine("Invencibilidade", 1.5f / GameController.instance.GameSpeed);

        Colisores = this.gameObject.GetComponents <Collider2D>();

        switch (PlayerPrefs.GetInt("Skin"))
        {
        case 0:
            playerAnimator.runtimeAnimatorController = Resources.Load <RuntimeAnimatorController>("Controllers/Player/Skin0/PlayerController");
            Colisores[0].enabled = true;
            break;

        case 1:
            playerAnimator.runtimeAnimatorController = Resources.Load <RuntimeAnimatorController>("Controllers/Player/Skin1/PlayerController");
            Colisores[1].enabled = true;
            break;
        }
    }
コード例 #2
0
    void FixedUpdate()
    {
        if (DM != null)
        {
            if (!DM.DialogueBoxOpen)
            {
                VC.PegaArmas();

                float movimentoX = Input.GetAxis("Horizontal");
                float movimentoY = Input.GetAxis("Vertical");

                if (movimentoY < -.333f || joystick.Vertical < -.333f)
                {
                    direcao = -1;
                }
                else if (movimentoY == 0 || joystick.Vertical == 0)
                {
                    direcao = 0;
                }
                else if (movimentoY > .333f || joystick.Vertical > .333f)
                {
                    direcao = 1;
                }

                //playerRigidbody.velocity = new Vector2 (movimentoX * velocidadeX * GameController.instance.GameSpeed, movimentoY * velocidadeY * GameController.instance.GameSpeed);
                playerRigidbody.velocity = new Vector2(joystick.Horizontal * velocidadeX * GameController.instance.GameSpeed + movimentoX * velocidadeX * GameController.instance.GameSpeed, joystick.Vertical * velocidadeY * GameController.instance.GameSpeed + movimentoY * velocidadeY * GameController.instance.GameSpeed);


                if (transform.position.x < Esquerda.position.x)
                {
                    transform.position = new Vector3(Esquerda.position.x, transform.position.y, transform.position.z);
                }
                else if (transform.position.x > Direita.position.x)
                {
                    transform.position = new Vector3(Direita.position.x, transform.position.y, transform.position.z);
                }
                if (transform.position.y > Cima.position.y)
                {
                    transform.position = new Vector3(transform.position.x, Cima.position.y, transform.position.z);
                }
                else if (transform.position.y < Baixo.position.y)
                {
                    transform.position = new Vector3(transform.position.x, Baixo.position.y, transform.position.z);
                }

                playerAnimator.SetInteger("Direcao", direcao * -1);
                playerAnimator.SetBool("Invencivel", Invencivel);
            }
        }
        else
        {
            VC.PegaArmas();

            float movimentoX = Input.GetAxis("Horizontal");
            float movimentoY = Input.GetAxis("Vertical");

            if (movimentoY < -.333f || joystick.Vertical < -.333f)
            {
                direcao = -1;
            }
            else if (movimentoY == 0 || joystick.Vertical == 0)
            {
                direcao = 0;
            }
            else if (movimentoY > .333f || joystick.Vertical > .333f)
            {
                direcao = 1;
            }

            //playerRigidbody.velocity = new Vector2 (movimentoX * velocidadeX * GameController.instance.GameSpeed, movimentoY * velocidadeY * GameController.instance.GameSpeed);
            playerRigidbody.velocity = new Vector2(joystick.Horizontal * velocidadeX * GameController.instance.GameSpeed + movimentoX * velocidadeX * GameController.instance.GameSpeed, joystick.Vertical * velocidadeY * GameController.instance.GameSpeed + movimentoY * velocidadeY * GameController.instance.GameSpeed);


            if (transform.position.x < Esquerda.position.x)
            {
                transform.position = new Vector3(Esquerda.position.x, transform.position.y, transform.position.z);
            }
            else if (transform.position.x > Direita.position.x)
            {
                transform.position = new Vector3(Direita.position.x, transform.position.y, transform.position.z);
            }
            if (transform.position.y > Cima.position.y)
            {
                transform.position = new Vector3(transform.position.x, Cima.position.y, transform.position.z);
            }
            else if (transform.position.y < Baixo.position.y)
            {
                transform.position = new Vector3(transform.position.x, Baixo.position.y, transform.position.z);
            }

            playerAnimator.SetInteger("Direcao", direcao * -1);
            playerAnimator.SetBool("Invencivel", Invencivel);
        }
    }