terça-feira, 14 de abril de 2015

C.A.P. (Cursos Abertos Profissionalizantes): Game Maker 8.0 - EVENTOS - 2


Create event

Este evento acontece quando uma instância do objeto é criado. É normalmente usado para definir a instância em movimento e/ou para definir algumas variáveis para a instância.

Destroy event

Este evento ocorre quando a instância é destruída. Para ser preciso, isso acontece pouco antes de ser destruída, então a instância ainda existe quando o evento é executado!

Na maioria das vezes este evento não é usado, mas você pode, por exemplo, usá-lo para mudar o placar ou criar algum outro objeto.

Alarm events

Cada instância tem 12 relógios despertadores. Você pode ajustar estes alarmes usando determinadas ações (ver capítulo seguinte).

O alarme em seguida, conta para baixo até chegar a 0 no momento em que o evento de alarme é gerado. Para indicar as ações de um alarme dado, primeiro você precisa selecioná-lo no menu. 

Alarmes são muito úteis.

Você pode usá-los para que certas coisas acontecem de vez em quando. Por exemplo, um monstro pode mudar sua direção de movimento a cada 20 passos. (Em tais casos, uma das ações no evento deve definir o alarme novamente.)

Step events

O evento passo acontece a cada passo do jogo. Aqui você pode colocar as ações que precisam ser executados de forma contínua. Por exemplo, se um objeto deve seguir um outro, aqui você pode adaptar a direção do movimento em direção ao objeto que estamos seguindo.

Contudo tenha cuidado com este evento. Não coloque muitas ações complicadas no evento passo dos objetos que tenha muitas instâncias. Isso pode retardar o jogo. Para ser mais preciso, há três eventos passos diferentes.

Normalmente, você só precisa de um padrão. Mas usando o menu você também pode selecionar o evento inicio de passo e o fim de passo.

O evento inicio de passo é executado no início de cada passo, antes de quaisquer outros eventos ocorrerem. O evento passo normal é executado imediatamente antes das instâncias serem colocadas em suas novas posições.

O evento fim de passo é executado no final do passo, antes do desenho. Isso normalmente é usado para mudar a sprite dependendo da direção atual.

Collision events

Sempre que duas instâncias se colidem (isto é, seus sprites se sobrepõem) um evento de colisão aparece. Bem, para ser preciso o dois eventos de colisão ocorrem, um para cada instância.

A instância pode reagir a esse evento de colisão. Para esse efeito, a partir do menu, selecione o objeto com o qual pretende definir o evento de colisão.

Em seguida você coloca as ações aqui.
Há uma diferença que acontece quando a instância se choca com um objeto sólido ou um objeto não sólido.

Primeiramente, quando não existem ações em caso de colisão, não acontece nada. A instância atual simplesmente mantém em movimento, mesmo quando o outro objeto é sólido.

Quando o evento de colisão contém ações acontece o seguinte:

Quando o outro objeto é sólido, a instância é colocado de volta no seu lugar anterior (antes da colisão). Em seguida, o evento é executado. Finalmente, a instância é transferido para sua nova posição. Assim, se o caso por exemplo inverte a direção do movimento, a instância ricocheteia contra a parede, sem parar. Se ainda houver uma colisão, a instância seja mantido no seu lugar anterior. Por isso, pára de se mover efetivamente.

Quando o outro objeto não é sólido, a instância não é colocada de volta. O evento é simplesmente executado com a instância na posição atual. Além disso, não há checagem para uma segunda colisão. Se você pensar bem, essa é a única coisa lógica que deve acontecer. Porque o objeto não é sólido, podemos simplesmente passar por cima dele. O evento notifica-nos que isto está acontecendo.

Há muitos utilidades para o evento de colisão. Instâncias podem usá-lo para ricochetear contra as paredes. Você pode usá-lo para destruir objetos, quando, por exemplo, eles são atingidos por uma bala.


Keyboard events

Quando o jogador pressionar uma tecla, um evento de teclado acontece para todas as instâncias de todos os objetos. Existe um evento diferente para cada tecla.

No menu você pode escolher a tecla para o qual pretende definir o evento de teclado e ações arrastadas para lá. Claramente, apenas alguns objetos precisam de eventos para apenas algumas teclas.

Você começa um evento em cada passo, desde que o jogador mantenha a tecla pressionada. Há dois eventos de teclado especiais.

Um é chamado de .

Este evento acontece em cada passo, quando nenhuma tecla for pressionada.

O segundo é chamado e acontece quando qualquer tecla é pressionada. Quando o jogador pressiona teclas múltiplas, os eventos para todas as teclas pressionadas acontece.

Observe que as teclas do teclado numérico só produzem os eventos correspondentes quando é pressionado.

Mouse events

Um evento de mouse acontece para uma instância sempre que o cursor do mouse está dentro da sprite que representa a instância. Dependendo de quais botões do mouse for pressionado pega o evento, botão sem pressionar, botão esquerdo, botão direito, botão do meio.

Os eventos de botão do mouse são gerados a cada passo, desde que o jogador mantenha o botão do mouse pressionado. Os eventos de pressionar são gerados apenas uma vez quando o botão for pressionado.

Os eventos de liberado são gerados apenas quando o botão for liberado. Observe que esses eventos ocorrem somente quando o mouse estiver sobre o evento.

Se quiser reagir ao evento de pressão ou liberação do mouse em um lugar arbitrário, use o mouse eventos globais que podem ser encontrados em um submenu. Há dois eventos de mouse especial.

O evento mouse entra acontece quando o mouse entra numa instância. O evento mouse deixar acontece quando o mouse deixa a instância.

Estes eventos são normalmente usados para modificar a imagem ou tocar algum som. Eventos girar a roda do Mouse para cima e para baixo acontecem quando o usuário move a roda do mouse. Por último, há uma série de eventos relacionados com o joystick.

Você pode indicar ações para as quatro direções principais do joystick (em sentido diagonal ambos os eventos acontecem). Também você pode definir ações para até 8 botões do joystick.

Você pode fazer isso tanto para o joystick primário e secundário.

Other events

Há uma série de outros eventos que podem ser úteis em determinados jogos. Eles são encontrados no menu. Os seguintes eventos podem ser encontrados aqui:

Outside room: Este evento ocorre quando a instância está completamente fora da sala. Isto é normalmente um bom momento para destruí-lo.

• Intersect boundary: Este evento ocorre quando a instância cruza a fronteira da room, ou seja, ele se encontra (pelo menos) parcialmente fora da sala.

• Views: Aqui você encontrará uma série de eventos que são úteis quando você usar exibições em suas rooms. Estes eventos testa se a instância está completamente fora de uma visão particular ou cruza o limite de exibição.
• Game start: Este evento acontece para todas as ocorrências na primeira room,
quando o jogo inicia. Isso acontece antes do evento começar room (ver abaixo),
mas após a criação de eventos para as instâncias na room. Este evento é
normalmente definido em apenas um objeto "controlador" e é usado para iniciar
uma música de fundo e para inicializar algumas variáveis, ou carregar alguns
dados.

Game end: O evento acontece a todas as instâncias quando o jogo termina. Novamente normalmente apenas um objeto define este evento. Por exemplo, é usado para armazenar alguns dados em um arquivo.

Room start: Este evento acontece em todas as instâncias, inicialmente em uma room quando a room começa. Isso acontece após os eventos de criação.

Room end: Este evento acontece a todas as instâncias existentes quando finaliza a room.

No more lives: Game Maker tem um sistema embutido de vidas. Existe uma ação para definir e alterar o número de vidas. Sempre que o número de vidas torna-se menor ou igual a 0, o evento acontece. É tipicamente usada para encerrar ou reiniciar o jogo.

No more health: Game Maker tem embutido um sistema de saúde. Existe uma ação para definir e alterar a saúde. Sempre que a saúde torna-se menor ou igual a 0, o evento acontece. Ele é tipicamente usado para reduzir o número de vidas ou para reiniciar o jogo.

Animation End: Como indicado acima, uma animação é composto por um número de imagens que são exibidas uma após a outra. Depois que o último quadro é mostrado começa de novo com o primeiro. O evento acontece precisamente neste momento. Como um exemplo, isso pode ser usado para alterar a animação, ou destruir a instância.

End of path: Este evento ocorre quando a instância segue um caminho e quando o fim do caminho é atingido.

Close Button: Este evento acontece quando o usuário clica no botão fechar da janela. Isso só acontece quando desativar nas configurações do jogo a opção de ter o botão para fechar como a tecla Escape.

User defined: Há 16 desses eventos. Eles normalmente nunca acontecerá a menos que você mesmo chame-os de uma parte do código.

Draw event

Instâncias, quando visíveis, desenham sua sprite em cada passo na tela. Quando você especificar ações no evento de desenho, o sprite não é desenhada, mas essas ações são executadas em seu lugar. Isto pode ser usado para desenhar algo diferente da sprite, ou primeiro fazer algumas alterações nos parâmetros da sprite.

Há uma série de ações de desenho que são especialmente feitos para uso no evento desenho. Observe que o evento desenho só é executado quando o objeto é visível.

Observe também que, independente do que você desenha, eventos de colisão são baseadas no sprite que está associado com a instância.

Key Pess events

Este evento é semelhante ao evento de teclado, mas isso acontece apenas uma vez quando a tecla é pressionada, ao invés de continuamente. Isso é útil quando você quer uma ação aconteça apenas uma vez.

Key Release events

Este evento é semelhante ao evento de teclado, mas isso acontece apenas uma vez quando a tecla é liberada, e não continuamente.
Em algumas situações é importante para compreender a ordem os processos de eventos do Game Maker.

É a seguinte:

• Begin step events
• Alarm events
• Keyboard, Key press, e Key release events
• Mouse events
• Normal step events
• (agora todos as instâncias são definidas para suas novas posições)
• Collision events
• End step events
• Draw events

O eventos criar, destruir, e outros são realizados quando coisas correspondentes acontecem.

Até a próxima aula!

Nenhum comentário:

Postar um comentário