Menu
CoddyTech

Itens derrubados

Lição 14 de 19 do curso Jogo Unity: Quebra-Tijolos da Coddy.

Às vezes, um tijolo quebrado deixa cair um power-up que cai em direção à raquete. Se ele cai é uma questão de sorte: Random.value é um número de ponto flutuante aleatório de 0 a 1, então Random.value < 0.15f é verdadeiro cerca de 15 vezes em 100. Manter a chance em um campo permite ajustá-la e permite que um teste a defina como 1 para que caia sempre ou como 0 para que nunca caia.

Qual power-up cai é determinado por uma segunda rolagem: um índice aleatório em um array de prefabs. Random.Range com inteiros exclui o valor máximo, então Random.Range(0, array.Length) pode escolher todos os elementos. O saque de um inimigo:

public GameObject[] loot;
public float lootChance = 0.25f;

void DropLoot()
{
    if (Random.value >= lootChance) return;
    int pick = Random.Range(0, loot.Length);
    Instantiate(loot[pick], transform.position, Quaternion.identity);
}

Um power-up cai a uma velocidade constante, movendo-se a cada quadro, e se destrói quando fica abaixo da área de jogo, para que os que forem perdidos não se acumulem. Seu prefab tem um Rigidbody cinemático e um collider de gatilho, assim a física sabe que ele se move e ele poderá detectar quando alcançar a raquete.

challenge icon

Desafio

Difícil

Às vezes, tijolos quebrados derrubam um power-up.

  1. Em PowerUp, adicione fallSpeed = 3f e bottomY = -9f; em Update(), faça-o cair a fallSpeed por segundo e destrua-o abaixo de bottomY.
  2. Em GameManager, adicione public GameObject[] powerUps; e public float dropChance = 0.15f;
  3. Em BrickBroken, se Random.value < dropChance, instancie powerUps[Random.Range(0, powerUps.Length)] na posição do tijolo.

Pressione “Jogar” e quebre tijolos: de vez em quando, um deles derruba um power-up (a captura vem a seguir). Depois, pressione “Verificar”.

Experimente você mesmo

using UnityEngine;

public class PowerUp : MonoBehaviour
{
    // O último capítulo: power-ups que caem dos tijolos quebrados.
}

Todas as lições de Jogo Unity: Quebra-Tijolos

Pratique por conta própria: Playground de Unity