11 - Itens e suas funcionalidades

Os itens são, a princípio, para você incluir no jogo como o jogador os vê, como ícones que quando pegos recuperam a vitaldiade, dão mais pontos ao jogafor, infligem dano aos inimigos, etc. Mas no ARGS eles podem ser bem úteis para executar coisas "invisíveis" ao jogador na tela. Vamos ver cada um destes usos.

Diamante e Ruby (pontos)


Esse é o uso mais simples, eu fiz o gráfico de uma joia pequena e outra grande. As propriedades dos itens são como da maioria dos atores, com BEHAVIOR e tudo o mais.

As principais diferenças estão no campo POWER-UPS, que diz o que o item pode mudar no status do jogador, como adicionar vidas, bombas (arma secundária) imunidade por um tempo, dar dano em inimigos, aumentar o tempo na contagem, ou dar pontuação (que é o caso de minha joia).

O campo SWAP serve para fzer troca de atores, e é aqui que podemos fazer usos mais avançados dos atores de itens.

Porta e Chave


Eu decidi fazer uma alteração de game e level design no game de exemplo, agora para passar de uma certa parte da fase é preciso pegar uma chave que faz desaparecer uma porta, liberando a passagem para o jogador. Me inspirei no grande game do Tcheco no Castelo do Sarney, do amigo macBee.

Obs: geralmente não se muda o planejamento de um game assim em fase tão avançada do desenvolvimento, mas eu o faço para tornar o tutorial mais rico.

Primeiro eu criei um ator do tipo inimigo, que será minha porta:
Vitalidade infinita e zero de dano (pra ela não sumir ao ser atacada nem causar dano ao jogador).


O detalhe mais importante desse ator fica no campo HIT BOX, que você deve colocar para BBOX (caixa de colisão) e SOLID (para o objeto se tornar intransponível).

Fiz uma cópia desse ator (CTRL+D), renomeei como "porta some", e mudei o BEHAVIOR da cópia para piscar por um segundo, emitir um som, e sumir. Por necessidade tive de fazer outra porta no sentido horizontal (para as fases verticais).


Em seguida criei um ator do tipo Item que será a chave. É um item normal, mas re3pare ali no campo swap actors, quando o item é pego ele muda o ator 27 para 28 (a "porta" vertical para a "porta some") e o ator 33 para o 34 (a "porta" horizontal para sua respectiva sumindo).


Importante: Essa ação só ocorre se todos os atores envolvidos estiverem na tela. Se o jogador pegar a chave e ela estiver muito longe da porta (a porta fora da tela), nada acontecerá. Veja a GIF animada das portas e chaves:



Dica: se quiser fazer que a chave seja pega de longe da porta, tem de fazer o seguinte: quando o item chave é pego ele cria um ator "Y" que será um ícone que flutuará sobre o HUD. Sobre a porta deve haver um ator do tipo "CHECK" que verifique a existência desse ator "Y", e se ele existir, mudar o ator "Porta fechada" para "porta aberta". Futuramente faço um passo a passo dessa situação.

Chave chama inimigo


Para a fase 2.3 eu tive a ideia de criar um tipo de inimigo "Aqua-man", parecido com aqueles do Castlevania.  Esse homem peixe fica flutuando na água, e quando o ator chegue a um certo ponto o inimigo pula para fora da água e começa a atacar. O que eu fiz:



Criei os dois atores que compõem o inimigo: um inimigo em espera flutuando na água (sem se afetado pela gravidade) e outro ator que é o inimigo pulando e em seguida atacando.


Eu modifiquei meu item "Chave", pra quando ele pego também vai mudar o ator 40 pelo 41 (muda o "aqua-man espera" por "aqua-man pula"). Assim eu vou posicionar  chave em locais estratégico e quando o jogador a pegar, o inimigo vai pular para fora da água e atacar.

Espirro de água

Eu quero que quando o jogador caia na água apareça o gráfico de um espirro de água.

Depois de criado o ator "splash" (do tipo SPRITE)que vai ser meu espirro de agua, eu fiz o seguinte:


-Criei um ator do tipo item, selecionei para ele um gráfico de 16X16 pixels.
-Esse item, quando pego se transforma no ator sprite "splash". para isso coloque o ator splash ali no campo "PICK".
-No BEHAVIOR desse item eu coloquei que ele tem como propriedade ser invisível.
-Posicionei este item em todos os pontos que tem água no cenário.


Pronto, agora quando o jogador cair na água ele não vai perceber, mas vai pegar um item invisível que vai criar o espirro de água (splash).



É possível assim mudar também o ator do jogador, por exemplo, se meu game tem fases de água, como no Mario, Alex Kidd, e quero que o ator do herói mude de um para outro quando cai na água, posso colocar itens invisíveis que fazem a troca. Esse item pode, quando pego, chamar um sprite visível ou não (pode ser a animação do espirro de água), que depois de alguns segundos cria outro item no lugar do que foi pego. Fiz isso no meu game do Marlow, e futuramente farei um tutorial detalhado dessa "gambiarra".

Não deixe de baixar o projeto atualizado até este tutorial:
http://www.bwass.org/bucket/Dev!011.zip

Nenhum comentário:

Postar um comentário