Um Método Simples para Subir Escadas em Jogos de Plataforma

1

Tagged

Stats

6,418 visits, 6,935 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 16 Aug, 2013. Last updated 25 Feb, 2019

O Objetivo - Escadas em Plataformas

O objetivo deste tutorial é dar a você, e explicar a funcionalidade de, uma solução simples para criar escadas nas quais você possa subir no Construct 2 para usar em plataformas.

Embora o Construct 2 forneça muitas funções pré-definidas de movimento, eu ainda precisava encontrar uma função para subir em cordas e escadas, e as soluções que eu encontrei eram complexas e usavam variáveis e diversos objetos.

Esta solução requer dois objetos: o objeto do jogador e a escada, e um bloco de evento relativamente simples (tecnicamente é preciso um terceiro objeto, mas é apenas a imagem do jogador).

Os sprites em uso são sprites gratuitos fornecidos pela YoYo Games.

Pré-requisitos

Eu quero manter esse tutorial o mais simples possível, então eu vou presumir que você tenha conhecimento sobre a Events Sheet e todos os fundamentos de criação de um jogo usando o Construct 2. Se você tiver visto o primeiro tutorial e o tutorial de plataforma para iniciantes você deve conseguir acompanhar, embora o tutorial seguinte sobre plataforma também seria uma boa ideia ler.

Eu estou usando a edição gratuita do Construct 2, release 132.

A Configuração

O Jogador

Vamos por partes. Primeiro crie uma room e crie os objetos do jogador e da escada. Lembre-se que para um jogo de plataforma é melhor criar uma forma retangular para o ser o objeto do seu jogador e coloque a imagem do jogador nele.

Depois, eu dei ao Objeto do Jogador (o retângulo) um movimento de plataforma (platformer movement) e configurei o Movimento Padrão (Default Movement) (fica em Behavior>Platform no painel de propriedades da instância) para não (no). Isso é porque a Seta Para Cima faz o jogador pular e nós queremos que em vez disso ele suba na escada. Isso pode ser modificado, se você quiser pular para subir isso também pode ser feito, só que eu prefiro assim.

A Escada

Eu criei o objeto da escada usando uma imagem da parte inferior da escada.

Depois eu fui na animação da escada e adicionei as imagens do meio da escada e do topo dela como novos quadros:

Fazendo isso eu posso deixar a escada do tamanho que eu quiser simplesmente mudando o Frame Inicial (Initial Frame) em cada instância (em Animation, no painel de propriedades da instância) conforme precisar.

Isso significa que eu posso fazer a escada ficar do jeito que eu quiser, enquanto ainda consigo referenciar ela por completo como um único objeto.

Os Eventos

Eu apliquei meus eventos a uma event sheet de Controle (Controller), desta maneira eu posso colocar a escada em qualquer nível.

Movimento

Primeiro, eu adicione o movimento básico de plataforma usando a função de Simulação de controle (Simulate control):

Tudo o que eu quero aqui é esquerda, direita e pular. Como eu disse antes, você também pode deixar a função de pulo ligada na seta para cima e pular para subir na escada.

Subindo

Depois eu adicionei um bloco com o evento de subida. Ele é um pouco maior e faz uso de um bloco Else para ficar o mais simples possível (para usar um bloco else clique dentro do bloco de condição e escolha Add...>Else, se você não adicionar uma condição extra ao bloco else, ele vai contar todas as outras situações)

Então o bloco basicamente deve ficar assim:

    IF Up is pressed & Player is on Ladder
          THEN Climb Ladder
    ---ELSE
    IF Down is pressed & Player is on Ladder
          THEN Descend Ladder
    ---ELSE
    IF No button is pressed & Player is on Ladder
          THEN Sit on Ladder
    ---ELSE
           Reset gravity to room normal


O evento faz uso da função Set gravity, que com um objeto com movimento de plataforma normalmente puxaria o objeto para o chão quando ele estivesse fora dele. Ao colocar a gravidade como 0 nós podemos nos mover para cima e para baixo da escada sem cair.

Precisamos usar o bloco final do ELSE para redefinir a gravidade da room para o normal para que o objeto caia normalmente como em qualquer outra circunstância. Nós podemos usar uma variável temporária, mas eu queria evitar variáveis nesse tutorial.

Conclusão

Agora nós temos uma função de escada funcional e simplesmente saindo da escada o jogador vai cair como normalmente.

Eu tenho certeza que existem outros métodos, mas este método funciona bem pra mim. Você já teve sucesso com outros métodos para criar escadas?

  • 0 Comments

Want to leave a comment? Login or Register an account!