Menu
CoddyTech

Comparar números

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 7 de 85.

La mayoría de las condiciones comparan dos valores, y cada comparación devuelve un bool:

  • a == b: a es igual a b. Dos signos de igual: uno solo, =, asigna un valor a una variable.
  • a != b: a no es igual a b
  • a < b y a > b: menor que, mayor que
  • a <= b y a >= b: menor o igual que, mayor o igual que

Para preguntar dos cosas a la vez, únelas: && significa «y» (ambas deben ser verdaderas), || significa «o» (basta con una).

if (coins >= 10 && level == 3)
{
    Debug.Log("The shop is open");
}

Input.GetKeyDown(KeyCode.E) también es un bool, pero, a diferencia de GetKey, solo es verdadero durante el único fotograma en que se pulsa la tecla, así que cada pulsación cuenta una vez, por mucho tiempo que se mantenga pulsada la tecla.

challenge icon

Desafío

Fácil

La puerta debería abrirse cuando el jugador tiene 3 llaves o más y pulsa E.

  1. Debajo del bloque K en Update(), no dentro de él, escribe if (keys >= 3 && Input.GetKeyDown(KeyCode.E)).
  2. Entre sus llaves, escribe transform.position = new Vector3(0, 4.5f, 3);.

Pulsa «Jugar», pulsa K tres veces y después E: la puerta se desliza hacia arriba. Después, pulsa «Comprobar».

Pruébalo tú mismo

using UnityEngine;

public class KeyDoor : MonoBehaviour
{
    int keys = 0;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.K))
        {
            keys++;
            Debug.Log("Keys: " + keys);
        }

        // Abre la puerta con 3 llaves o más y pulsando E:
        // muévela a (0, 4.5f, 3).
    }
}

Todas las lecciones de Fundamentos de scripting en Unity

Practica por tu cuenta: Playground de Unity