Antes de começar um jogo Point n' Click você tem a obrigação de elaborá-lo todo. Definir todos os puzzles, todas as salas, todos os itens, tudo. Hoje eu vou ensinar como fazer um sistema de "salvamento" entre os frames (você sabe que quando se volta para um frame anterior, ele se reinicia completamente, impossibilitando muitas coisas) na qual você vai aprender neste post. Vamo lá!
(ps: essa seta [ => ] significa que a partir dela são as condições do evento).
1º - Digamos que eu esteja no meu quarto e eu quero que seja possível vê-lo de três ângulos diferentes. Cada visão vai ser um frame diferente.
A primeira coisa que você nota é que em todas as imagens há uma área pintada de vermelho. Isso se deve a um problema no Clickteam na qual ele não consegue importar imagens sem que elas tenham alguma coisa em alfa (transparente). É tipo um fetiche estranho. Odeio isso. Então eu seleciono essa área vermelha para que seja a parte em alfa e depois pinto por cima com a cor do fundo.
2º - Agora é preciso fazer com que seja possível mudar de visão. Para isso você pode criar um Active, desenhar uma seta e posicioná-la na extremidade direita/esquerda do frame. Em todos os frames.
![]() |
| Essa é a minha. Você tem a sua aí. Não copie de mim >:( |
3º - Faça o óbvio: quando clicar numa das setas => pular para frame "tal".
Eu não vou ensinar a fazer essas coisas simples. Se quiser que eu ensine, me chame no grupo do Skype ou Facebook.
4º - Desculpe-me pela agressão, mas é que precisamos economizar tempo aqui.
5º - Pronto. Você agora pode ficar girando dentro do quarto/sala em que você está. Infinitamente. Legal, né?
6º - Começa agora a parte da programação que vou ensinar. Há no Clickteam Fusion 2.5 uma ferramente chamada Global Values. São números/valores/códigos/não-sei que atuam em todo o jogo. Não importa se você mudar de frame, eles continuam com um valor fixo e inalterado (a não ser que você mude-o de alguma maneira).
a. Digamos que você tenha um objeto em algum lugar no primeiro frame. Quando você clicar nele, ele vai para seu pseudo inventário e também desaparece da cena. Para isso, vamos trabalhar com Global Values e Global Events.
b. Para acessar os Global Events, faça como na screenshot a seguir:
![]() |
| Essa é a tela onde todos os eventos acontecerão em qualquer frame. São globais. O "globo" é seu jogo ;) |
Agora vamos definir os "estados" do nosso objeto, aquele que está no primeiro frame. Crie um novo evento "Special" (as duas engrenagens), clique em "Compare to a global value" e deixe como está:
- Choose value: Global Value A
- Choose comparison method: Equal
c. Copie esse evento e cole em baixo, porém, neste, mude de '0' para '1'.
Agora temos dois eventos: um para quando o global value A for '0' e outro para quando for '1'.
(Vou começar a usar a sigla [G.V = Global Value] a partir de agora).
Quero que, quando o G.V A for '0', o objeto do primeiro frame esteja visível. Para isso, devemos importar o objeto do primeiro frame para essa tela. É só clicar uma vez no último objeto da primeira linha horizontal na tabela (o simbolo de uma folha escrita com uma seta apontando para ela mesma) e clicar no objeto do primeiro frame. Faça a mesma coisa com o G.V A = '1', nesse caso ele fica invisível.
-Se o G.V A for 0 => Make object reappear
-Se o G.V A for 1 => Make object invisible
Deve ficar assim:
![]() |
| Sim, meu objeto do primeiro frame é um relógio. |
d. Agora vamos voltar para o event editor do primeiro frame. Aqui crie um evento para que, quando se clicar no objeto do primeiro frame, o G.V A vire '1':
-'User clicks on a object > [seu objeto]' => 'Change global value' > 'Set' > digite '1' e dê OK.
Pronto, o objeto vai desaparecer quando nós clicarmos nele! Use esse sistema para todos os itens que tiver no seu jogo, lembrando que para cada item deve-se usar um G.V diferente. Da até para nomear um G.V, mas eu não lembro como faz :P
No próximo post nós iremos fazer um sistema de inventário completo. Aguardem!
Link deste projeto: http://www.mediafire.com/download/x7i732pr8fes7ff/point+n+click+1.mfa






