private void OnTriggerEnter(Collider col) { //Si el jugador choca con el PowerUp if (col.gameObject.name == "Player") { //Lanzamos el sonido de salto audioSourcePowerUP.clip = efectoSonidoSalto; audioSourcePowerUP.Play(); //Activa el texto de salto //GameObject.Find("CanvasTextoSalto").transform.GetChild(0).gameObject.SetActive(true); GameObject.Find("CanvasTextoSalto").transform.GetChild(0).gameObject.GetComponent <UnityEngine.UI.Text>().text = "¡ JUMPING !"; Transform bloqueSalto; GameObject ListaHijos = GameObject.Find("ListaHijos"); int indiceBloqueASaltar = 0; for (int i = 0; i < ListaHijos.transform.childCount; i++) { //Debug.Log("Número de hijos: " + numeroHijos); if (ListaHijos.transform.GetChild(i).tag == "Changer" && i > 0) { indiceBloqueASaltar = i - 1; break; } else if (i == 5) { indiceBloqueASaltar = i - 1; break; } indiceBloqueASaltar = i - 1; } startPosition = player.transform.position; //Debug.Log("El indice a saltar es: " + indiceBloqueASaltar); bloqueSalto = ListaHijos.transform.GetChild(indiceBloqueASaltar); bloqueSalto.GetComponent <TileScript>().setLandTile(true); posicionSalto = bloqueSalto.transform.GetChild(9).position; saltando = true; //Hace la llamada a gravity control para cada uno de los bloques que hemos saltado for (int i = 0; i < indiceBloqueASaltar; i++) { TileScript scriptBloque = ListaHijos.transform.GetChild(i).GetComponent <TileScript>(); //scriptBloque.GameControl(); scriptBloque.GravityControl(); tileMang.reSpawnTiles(); } } }