Seta mario Bross

«seta_magica». El script tiene las siguientes características:

  • Hay tres variables públicas definidas: «velocidad», «limiteIzquierdo» y «limiteDerecho», que son parámetros ajustables desde el Inspector de Unity.
  • Hay dos variables privadas definidas: «direccion» y «colision».
  • El método «Start()» se llama al iniciar el juego y establece la dirección inicial de la seta_magica en una dirección aleatoria.
  • El método «Update()» se llama en cada fotograma del juego y mueve la seta_magica en la dirección actual. Si la seta_magica choca con otro objeto, cambia la dirección. También limita el movimiento del objeto para que no se salga de la pantalla.
  • El método «OnCollisionEnter2D(Collision2D collision)» se llama cuando la seta_magica colisiona con otro objeto. Establece la variable «colision» a verdadero, lo que hace que la seta_magica cambie de dirección en el siguiente fotograma.

En resumen, este script crea un objeto que se mueve de izquierda a derecha a una velocidad ajustable, cambia de dirección cuando choca con otro objeto y no se sale de la pantalla.

public class seta_magica : MonoBehaviour
{
    public float velocidad = 5f;
    public float limiteIzquierdo = -5f;
    public float limiteDerecho = 5f;

    private float direccion = 1f;
    private bool colision = false;

    private void Start()
    {
        // Establecer una dirección inicial aleatoria
        direccion = Random.Range(0, 2) == 0 ? -1f : 1f;
    }

    private void Update()
    {
        // Mover el objeto en la dirección actual
        transform.Translate(Vector2.right * direccion * velocidad * Time.deltaTime);

        // Si el objeto colisiona con otro objeto, cambiar la dirección
        if (colision)
        {
            direccion = -1f;
            colision = false;
        }

        // Limitar el movimiento del objeto
        if (transform.position.x < limiteIzquierdo)
        {
            direccion = 1f;
        }
        else if (transform.position.x > limiteDerecho)
        {
            direccion = -1f;
        }
    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        // Si el objeto colisiona con otro objeto, establecer la variable de colisión a verdadero
        colision = true;
    }
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *