Em jogos Top-down Shooter é comum que, para conseguir mais munição, tenhamos que pegar os itens, que aparecem randomicamente na fase, passando por cima deles (o tópico já foi abordado em Tutorial sobre Power-Ups, mas com outro objetivo). Este tutorial tem como objetivo explicar como criar esses itens, além de ensinar também como gastar munição e recarregar.
Para este tutorial vamos considerar que botão esquerdo do mouse atira, botão direito do mouse recarrega e pegamos munição quando passamos sobre o item, um cartucho possui 5 balas, podemos carregar apenas 10 cartuchos e podemos ter 5 balas carregadas na arma.
obj_jogador
Create Event
balas_arma = 5
cartuchos = 0
balas = 1
cartuchos_maximo = 10
Step Event
cartuchos = balas/5
obj_cartucho
Create Event
balas = 25
Collision Event <> obj_jogador
if obj_jogador.cartuchos < obj_jogador.cartuchos_maximo
{
obj_jogador.balas += 1
balas -= 1
}
if balas = 0
{
instance_destroy()
}
É impossível fazer um código padrão que atenda a necessidade de todos, devido as particularidades de cada jogo. Neste exemplo o personagem pegará balas até que todos seus 10 cartuchos estejam completos ou que terminem as balas disponíveis no cartucho encontrado. Outros podem preferir que apenas seja possível pegar cartuchos, não sendo possível pegar as balas separadamente.
Para recarregar a munição podemos utilizar o seguinte código:
if mouse_check_button_pressed(mb_right) && cartuchos > 0
{
balas -= 5 - balas_arma
balas_arma += 5 - balas_arma
}
Isso fará com que as balas fora da arma sejam transferidas para ela, apenas se tivermos alguma bala sobrando. Se tentarmos carregar uma arma já carregada nada acontecerá pois o resultado será da conta será 0.
Para gastar munição basta adicionar balas_arma -= 1 dentro do código de disparo, que já foi criado no Tutorial sobre Projeteis - Top-Down Shooter.
obj_jogador
Create Event
balas_arma = 5
cartuchos = 0
balas = 1
cartuchos_maximo = 10
Step Event
cartuchos = balas/5
obj_cartucho
Create Event
balas = 25
Collision Event <> obj_jogador
if obj_jogador.cartuchos < obj_jogador.cartuchos_maximo
{
obj_jogador.balas += 1
balas -= 1
}
if balas = 0
{
instance_destroy()
}
É impossível fazer um código padrão que atenda a necessidade de todos, devido as particularidades de cada jogo. Neste exemplo o personagem pegará balas até que todos seus 10 cartuchos estejam completos ou que terminem as balas disponíveis no cartucho encontrado. Outros podem preferir que apenas seja possível pegar cartuchos, não sendo possível pegar as balas separadamente.
Para recarregar a munição podemos utilizar o seguinte código:
if mouse_check_button_pressed(mb_right) && cartuchos > 0
{
balas -= 5 - balas_arma
balas_arma += 5 - balas_arma
}
Isso fará com que as balas fora da arma sejam transferidas para ela, apenas se tivermos alguma bala sobrando. Se tentarmos carregar uma arma já carregada nada acontecerá pois o resultado será da conta será 0.
Para gastar munição basta adicionar balas_arma -= 1 dentro do código de disparo, que já foi criado no Tutorial sobre Projeteis - Top-Down Shooter.
Nenhum comentário :
Postar um comentário