Combinando Condições

Combinando Condições
por Eskyz

Introdução:
Eu ainda me lembro que, nos meus primeiros jogos eu sempre usava condições sozinhas. Só que em alguns casos, é necessário que nós limitemos ainda mais um evento. Hmm... por exemplo: eu quero que enquanto estiver pressionando a Tecla de Fogo 1, o personagem atire. Até aí tudo bem, vamos fazer os eventos:

Repeat while ("Player 1") Pressed Fire 1
(Active) Shoot ("bala") at speed 100

Agora, teste. Ficou rápido demais não? Ele precisa atirar mais devagar. Mas, como isso? Temos que estabelecer mais uma condição para o evento. Assim, a ação só se realizará se as duas condições forem cumpridas. Nós precisamos fazer com que enquanto o jogador estiver pressionando o botão, a cada cinquenta centésimos de segundos, ele atirar. Mas como fazer isso? É o que nós vamos ver nessa matéria.

Matéria:
Agora vamos resolver nosso problema do tiro. O que nós precisamos fazer é simples: adicionar outra condição, e essa seria um Every 00"-50 (A Cada 50 centésimos de segundos). Como fazer isso? É baba também.

Clique com o botão direito do Mouse sobre a primeira condição (no caso, a de pressionar o botão), e escolha a opção Insert (Inserir).


Clique com o botão direito sobre a primeira condição, e selecione a opção Inserir

Então, abrirá uma janela para você escolher a nova condição. Escolha, e veja que uma nova condição foi adicionada ao evento.


Adicionando a nova condição


Note que a nova condição foi adicionada ao evento

Pronto, vai ficar assim:
Repeat while ("Player 1") Pressed fire 1
Every 00"-50
(Active) Shoot ("bala") at speed 100

Algumas condições como a On loop, da classe Special (a do computadorzinho), precisam ficar no topo do evento. Não precisa entender esse negócio de Fast Loop por ora; não é aí que eu quero chegar. A questão é que certas condições só funcionam se estiverem no topo do evento. E algumas, não funcionam de jeito nenhum (como a Is the timer equal to a certain value). Para mover uma condição, simplesmente selecione-a e arraste-a até o local desejado, assim como você arrasta um ícone na sua Área de Trabalho.


Arrastando o Every para o topo


Every no topo

O Every realmente não precisa ficar no topo. Eu fiz isso só pra mostrar pra vocês como trocar o lugar de duas condições.

Colocando em prática o que aprendemos:
Agora, outro exercício. Já resolvemos o problema do tiro, agora vamos fazer alguma outra coisinha só pra fixar. Na verdade, é capaz que o que nós vamos fazer agora, nunca vá ter alguma utilidade pra você, mas vamos fazer assim mesmo só pra grudar na cabeça, certo?

Adicione um movimento de plataforma no Active Object. Não precisa mudar nada no Movimento. Agora adicione o seguinte evento:

Repeat while ("Player 1") Moved down
(Active) Stop

Ou seja, enquanto o jogador estiver apertando pra baixo, vai parar o movimento do Active. Pronto, agora insira uma nova condição: Repeat while ("Player 1") Moved top.

Vai ficar desse jeito:

Repeat while ("Player 1") Moved down
Repeat while ("Player 1") Moved top
(Active) Stop

Ou seja, enquanto o jogador estiver apertando para cima e para baixo, vai parar o movimento do personagem.

Finalizando:
Combinar condições é algo fundamental na criação de jogos. Por isso é importante que você tenha entendi tudo dessa matéria. Se você não entendeu, você é um bocó leia de novo, porque um dia você ainda vai precisar combinar condições. A propósito, lembra da matéria sobre Counters? Agora que você leu essa matéria, vai achar inúmeras utilidades para eles. Antes de saber combinar condições, os Counters não tinha muita utilidade. Agora, eles podem fazer coisas incriveis. É só pensar um pouco.

Bom galera, por hoje é só.
Falow o/