Exemple #1
0
    // Use this for initialization
    void Start () {
		moveSpeed = Random.Range(minSpeed, maxSpeed);
        cloudSpeed = GameObject.Find("clouds").GetComponent<parallax>();
	}
    // para aplicar fuerzas constantes mejor aquí que en el Update
    void FixedUpdate()
    {
        // recupero las distintas capas del background para poder moverlo o pararlo
        GameObject capa1  = GameObject.FindGameObjectWithTag("capa1");
        GameObject capa2  = GameObject.FindGameObjectWithTag("capa2");
        GameObject capa3  = GameObject.FindGameObjectWithTag("capa3");
        GameObject capa4  = GameObject.FindGameObjectWithTag("capa4");
        GameObject capa5  = GameObject.FindGameObjectWithTag("capa5");
        GameObject capa6  = GameObject.FindGameObjectWithTag("capa6");
        GameObject capa11 = GameObject.FindGameObjectWithTag("capa11");
        GameObject capa22 = GameObject.FindGameObjectWithTag("capa22");
        GameObject capa33 = GameObject.FindGameObjectWithTag("capa33");
        GameObject capa44 = GameObject.FindGameObjectWithTag("capa44");
        GameObject capa55 = GameObject.FindGameObjectWithTag("capa55");
        GameObject capa66 = GameObject.FindGameObjectWithTag("capa66");

        // recupero el script Parallax de cada capa
        parallax parallax1  = capa1.GetComponent <parallax>();
        parallax parallax2  = capa2.GetComponent <parallax>();
        parallax parallax3  = capa3.GetComponent <parallax>();
        parallax parallax4  = capa4.GetComponent <parallax>();
        parallax parallax5  = capa5.GetComponent <parallax>();
        parallax parallax6  = capa6.GetComponent <parallax>();
        parallax parallax11 = capa11.GetComponent <parallax>();
        parallax parallax22 = capa22.GetComponent <parallax>();
        parallax parallax33 = capa33.GetComponent <parallax>();
        parallax parallax44 = capa44.GetComponent <parallax>();
        parallax parallax55 = capa55.GetComponent <parallax>();
        parallax parallax66 = capa66.GetComponent <parallax>();


        // el personaje solo puede moverse si el juego está en modo InGame
        if (GameManager.sharedInstance.currentGameState == GameState.inGame)
        {
            // Gateo hacia la derecha cuando se pulsa el cursor con la flecha derecha
            if (Input.GetKey(KeyCode.RightArrow))
            {
                // Al pulsar la flecha para que el personaje se mueva a la derecha, el fondo se mueve también
                parallax1.speed  = 4.5f;
                parallax2.speed  = 3.5f;
                parallax3.speed  = 2.3f;
                parallax4.speed  = 1.6f;
                parallax5.speed  = 1.4f;
                parallax6.speed  = 1.0f;
                parallax11.speed = 4.5f;
                parallax22.speed = 3.5f;
                parallax33.speed = 2.3f;
                parallax44.speed = 1.6f;
                parallax55.speed = 1.4f;
                parallax66.speed = 1.0f;


                if (GetComponent <SpriteRenderer>().flipX == true)
                {
                    GetComponent <SpriteRenderer>().flipX = false;
                }
                animator.SetBool("gatear", true);
                transform.Translate(0.04f, 0, 0);
            }


            if (Input.GetKey(KeyCode.LeftArrow))
            {
                // Al pulsar la flecha para que el personaje se mueva a la izquierda, el fondo se mueve también
                parallax1.speed  = 4.5f;
                parallax2.speed  = 3.5f;
                parallax3.speed  = 2.3f;
                parallax4.speed  = 1.6f;
                parallax5.speed  = 1.4f;
                parallax6.speed  = 1.0f;
                parallax11.speed = 4.5f;
                parallax22.speed = 3.5f;
                parallax33.speed = 2.3f;
                parallax44.speed = 1.6f;
                parallax55.speed = 1.4f;
                parallax66.speed = 1.0f;


                if (GetComponent <SpriteRenderer>().flipX == false)
                {
                    GetComponent <SpriteRenderer>().flipX = true;
                }
                animator.SetBool("gatear", true);
                transform.Translate(-0.04f, 0, 0);
            }


            if (Input.GetKeyUp(KeyCode.RightArrow) || Input.GetKeyUp(KeyCode.LeftArrow))
            {
                // Al dejar de pulsar las flechas el fondo se para
                parallax1.speed  = 0.0f;
                parallax2.speed  = 0.0f;
                parallax3.speed  = 0.0f;
                parallax4.speed  = 0.0f;
                parallax5.speed  = 0.0f;
                parallax6.speed  = 0.0f;
                parallax11.speed = 0.0f;
                parallax22.speed = 0.0f;
                parallax33.speed = 0.0f;
                parallax44.speed = 0.0f;
                parallax55.speed = 0.0f;
                parallax66.speed = 0.0f;

                animator.SetBool("gatear", false);
            }
        }


        /*if (!usingLadder)
         * {
         *  animator.SetFloat("vSpeed", rigidbody.velocity.y);
         * }*/
    }