Detectores de Colisão


Introdução:
Olá! Em várias matérias minhas, eu falava sobre Detectores de Colisão, Detectores de Colisão, e alguns não sabiam o que eram. Nesta matéria, vou procurar explicar o que é um Detector de Colisão, como criar um, e seus usos. Detectores de Colisão são muito úteis, e sua finalidade pode variar muito de acordo com a imaginação do programador. No meu caso, por exemplo, como vocês podem ver, eu os utilizei para retirar o "bug" (que na verdade não é um bug, mas sim uma programação errada) dos espinhos, cometido por muitos.

O que é um Detector de Colisão?
Detectores de Colisão são Active Objects que "detectam" colisões, como o nome já diz. São usadas em várias circunstâncias, principalmente no Movimento Custom. Imagine o seguinte: você quer colocar espinhos na sua fase. Então, o que você faz? Coloca "Collision between [PERSONAGEM] and [ESPINHO] > Restart Frame" certo? Errado! Por quê? Porque isso faria com que ao encostar no espinho, não importa aonde dele, reiniciar a fase! E se o personagem encostasse no lado do espinho? Seria bem estranho morrer encostando no lado do espinho, não seria? Para resolver esse problema, usamos um Detector de Colisão. Colocamos um na parte de cima do espinho (mas não que encosta no lado, se não não mudaria nada... tem que ter uma largura um pouco menor) e usamos "Collision between [PERSONAGEM] and [DETECTOR] > Restart Frame". Aí sim estaria correto.


(Clique para ampliar)

Como Criar um Detector de Colisão?
Não é nada complicado. Primeiro, crie um Active Object.

(Clique para ampliar)

Agora, dê dois cliques sobre ele para editá-lo.

(Clique para ampliar)

Aperte CTRL+A (segure CTRL e enquanto segura, aperte a tecla "A") e depois Delete, para apagar tudo da imagem.

(Clique para ampliar... mas... precisa mesmo?!)

Agora, selecione a Fill tool (F) e pinte a área transparente de qualquer cor... eu pintei de vermelho.

(Clique para ampliar, mesmo que eu não ache que vá precisar)

Agora, dê OK, clique sobre o seu Active Object, espere um pouco (um segundo ou dois) e clique novamente sobre ele. Agora, mude seu tamanho.

(Ampliou = cego)

Beleza! Agora, vamos aos eventos! No Event Editor, adicione a condição:
Start of Frame (Storyboard Controls)
E adicione o evento:
Visibility > Make Object Invisible (no Detector)
Pronto! Isso vai fazer que ao começar o frame, o detector fique invisível! Afinal, você não vai querer um bixim feio desses aparecendo na fase, vai? Eles servem só pra auxiliar na programação do jogo mesmo =D

Por que usar Detectores de Colisão?
As vezes, fazer algo no Multimedia Fusion 2 só é possível utilizando Detectores de Colisão. E outras vezes, utilizá-los simplifica bastante o processo. O que eu gosto do Multimedia Fusion 2, é que existem inúmeras formas de se fazer a mesma coisa. E às vezes, utilizá-los vai te ajudar a fazer da forma mais fácil. Na verdade, o principal uso dos Detectores de Colisão é no Movimento Personalizado (Movimento Custom), mas podemos encontrar várias outras utilidades para eles. Tudo vai depender mesmo da imaginação do programador. Usando a cabeça, você pode achar vários outros usos para essas ferramentas.