«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;
}
}