Como fazer um jogo de canhão no Unity
Criar um jogo canhão em Unity é uma ótima maneira de aprender o básico do desenvolvimento de jogos. Neste tutorial criaremos um jogo simples onde o jogador poderá mirar e disparar um canhão para atingir os alvos. Abordaremos a configuração do projeto, a criação e o controle de um canhão e a adição de alvos.
Etapa 1: Configurando o Projeto
Primeiro, abra Unity e crie um novo projeto 2D. Nomeie seu projeto como "CannonGame". Assim que o projeto for criado, você estará na janela principal do editor Unity.
Etapa 2: Criando o Canhão
Precisamos de uma representação visual do canhão. Você pode criar um sprite retangular simples para atuar como seu canhão. Para fazer isso:
- Clique com o botão direito na janela Hierarquia e selecione Criar Vazio. Nomeie-o como "Cannon".
- Clique com o botão direito no objeto "Cannon" e selecione 2D Object -> Sprite. Nomeie-o como "CannonSprite".
- Na janela Inspector, clique no campo Sprite e selecione um sprite para seu canhão.
Posicione o canhão na parte inferior da tela definindo sua posição como (0, -4, 0) no componente Transform.
Agora, crie um script para controlar o canhão. Clique com o botão direito na pasta Assets, selecione Create -> C# Script e nomeie-o como "CannonController". Clique duas vezes no script para abri-lo em seu editor de código.
// CannonController.cs
using UnityEngine;
public class CannonController : MonoBehaviour
{
public GameObject cannonballPrefab;
public float shootForce = 700f;
void Update()
{
Aim();
if (Input.GetButtonDown("Fire1"))
{
Shoot();
}
}
void Aim()
{
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 direction = new Vector2(mousePosition.x - transform.position.x, mousePosition.y - transform.position.y);
transform.up = direction;
}
void Shoot()
{
GameObject cannonball = Instantiate(cannonballPrefab, transform.position, transform.rotation);
Rigidbody2D rb = cannonball.GetComponent();
rb.AddForce(transform.up * shootForce);
}
}
Etapa 3: Criando a bala de canhão
Precisamos criar uma bala de canhão para o canhão disparar. Veja como:
- Clique com o botão direito na janela Hierarchy e selecione 2D Object -> Sprite. Nomeie-o como "Cannonball".
- Na janela Inspector, clique no campo Sprite e selecione um sprite para sua bala de canhão.
- Adicione um componente Rigidbody2D à bala de canhão clicando em Adicionar Componente e selecionando Rigidbody2D.
- Adicione um componente CircleCollider2D à bala de canhão clicando em Adicionar Componente e selecionando CircleCollider2D.
Em seguida, arraste a bala de canhão de Hierarchy para a pasta Assets para criar um pré-fabricado. Esta casa pré-fabricada será usada pelo canhão para disparar balas de canhão.
Na janela Inspector do script CannonController (anexado ao objeto Cannon), defina o campo CannonballPrefab como o pré-fabricado cannonball.
Etapa 4: Criando Alvos
Vamos adicionar alguns alvos para o jogador atirar:
- Clique com o botão direito na janela Hierarquia e selecione Objeto 2D -> Sprite. Nomeie-o como "Target".
- Na janela Inspector, clique no campo Sprite e selecione um sprite para seu alvo.
- Adicione um componente BoxCollider2D ao destino clicando em Adicionar Componente e selecionando BoxCollider2D.
Duplique o alvo clicando com o botão direito nele e selecionando Duplicar. Posicione os alvos ao redor da tela.
Etapa 5: Lidando com Colisões
Precisamos lidar com o que acontece quando uma bala de canhão atinge um alvo. Crie um script chamado "Target" para gerenciar isso:
- Clique com o botão direito na pasta Assets, selecione Create -> C# Script e nomeie-o como "Target".
- Clique duas vezes no script para abri-lo em seu editor de código.
// Target.cs
using UnityEngine;
public class Target : MonoBehaviour
{
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Cannonball"))
{
Destroy(gameObject);
}
}
}
Anexe o script Target a todos os objetos de destino. Certifique-se de que sua casa pré-fabricada de bala de canhão tenha a tag "Cannonball".
Conclusão
Seguindo estes passos, você criou um jogo de canhão simples em Unity. Você aprendeu como configurar um projeto, criar e controlar um canhão e adicionar alvos. Este projeto cobre conceitos básicos de desenvolvimento de jogos, como criação de objetos, entrada do usuário, física e detecção de colisão. Você pode aprimorar ainda mais este jogo adicionando recursos como pontuação, níveis e diferentes tipos de alvos. Divirta-se experimentando e aprendendo mais sobre Unity!