Agora que o projétil está pronto, vamos fazer o Nuvi disparar esses projéteis. Faça um script chamado “FiringBehavior” (Comportamento de Disparo) e copie e cole este código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FiringBehavior : MonoBehaviour
{
public Transform spawn_coor; //onde o projétil será gerado
public float projectile_speed; //quão rápido o projétil irá
public GameObject projectile_object; //sprite de projétil vermelho
// Start é chamado antes da primeira atualização do quadro
void Start()
{
projectile_speed = 15f;
}
// A atualização é chamada uma vez por quadro
void Update()
{
if(Input.GetButtonDown("Jump")) //barra de espaço gerará projétil
{
Rigidbody2D rb = projectile.GetComponent<Rigidbody2D>();
rb.AddForce(spawn_coor.up * projectile_speed, ForceMode2D.Impulse); //faz o projétil se mover
}
}
}
No momento este script não funciona; precisamos dizer ao jogo o que gerar quando a barra de espaço for pressionada. Para fazer isso, adicione GameObject projectile = Instantiate(projectile_object, spawn_coor.position, spawn_coor.rotation); sobre Rigidbody2D rb = projectile.GetComponent<Rigidbody2D>();. O método Instantiate indica o que criar, onde criar e em que direção deve estar voltado.
Arraste e solte este script no inspetor do Nuvi. Se você executar o script agora, notará que nada mudou. Isso ocorre porque existem variáveis públicas que ainda não foram atribuídas. Vá até o inspetor do Nuvi e role para baixo até o script Comportamento. Observe que spawn_coor e projectile_object estão vazios. Para spawn_coor, arraste e solte o GameObject vazio que você criou na última lição que representa onde os projéteis aparecem. Para projectile_object, arraste e solte o projétil pré-fabricado que você também criou na última lição.
Além disso, agora que o Nuvi tem tudo o que precisa para defender, vamos também transformar o Nuvi em um pré-fabricado!
Execute o jogo e observe o que você vê. Fizemos o Nuvi disparar projéteis, mas esses projéteis não podem fazer nada! Nas próximas lições, você aprenderá como fazê-los interagir com outros objetos.