No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
16 Hrs
25 Min
27 Seg

Creación de PowerUps

22/41
Recursos

Aportes 5

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Aqui podemos aplicar algo muy importante de POO

La herencia y clases asbtractas:

Creamos una base con los comportamientos que compartiran nuestros power ups

using UnityEngine;

[RequireComponent(typeof(Collider2D))]
public abstract class PowerUp : MonoBehaviour
{
    [SerializeField, Range(-20, 20)] protected float value;

    protected void OnTriggerEnter2D(Collider2D other)
    {
        if (!other.CompareTag("Player")) return;

        Power();
        Destroy(gameObject);
    }


    protected abstract void Power();
}

Y a partir de ahi, unicamente cambiamos el comportamiento de cada power up.

public class PowerUpTime : PowerUp
{
    protected override void Power()
    {
        GameManager.Instance.ChangeTime(value);
    }
}

Asi evitamos hacer un swtich o un if para comprobar el tipo de power Up

Comparto como va quedando hasta el momento (Improvise un reloj en pixel art para el checkpoint y Realice unas animaciones para el mismo y los powerups)
![](

Para hacer una serialización, simplemente añades un public enum, y luego haces públicas las variables dentro del enum.

Creo que se podría generalizar el código a 2 métodos similares que se llame SpawnObject.

Genial