Vous êtes sur la page 1sur 5

Iniciando Muitas pessoas tem vontade de fazer um jogo de plataforma, mas no sabem por onde comear.

Com essa matria, voc vai aprender as dicas bsicas para se fazer um jogo de plataforma e um pouco sobre a sua organizao. Como iniciar o projeto? Antes de comear a programar o seu jogo, precisamos documentar tudo o que vamos fazer. A diferena que, geralmente, jogos de plataforma e jogos de RPG precisam de informaes um pouco mais detalhadas sobre eles, por isso bom separar o documento do jogo em dois: as idias e a organizao. No documento das idias, voc dever anotar tudo que sua equipe pretende implantar no jogo, sugestes de enredo, entre outros. Uma boa idia para organizar isso criar uma pgina na web para organizar todas as idias do projeto, como um blog, para que fique fcil de organizar. No documento da organizao, ser o normal em todos os projetos, ou seja, a diviso de tarefas na equipe, tema, o que j foi definido no enredo, etc. Comeando a programao Muitos projetos costumam esperar ter algum material (sons, sprites, msicas, etc.) para comear a programar o projeto, pois isso realmente facilita o trabalho. Mas os jogos de plataforma mostram uma maior dificuldade ao montar as fases, por isso, bom comear a programar e fazer esboos das fases antes de obter o material. Um bom modo de fazer isso procurar sprites/sons/msicas de outros jogos para usar como testes para as fases. Desse modo, quando obter o material, basta voc trocar as resources provisrias pelas que voc recebeu. Assim, o jogo j vai tar com uma boa parte dele programada e com esboos das fases j feitos. Separando o material Mesmo que voc v utilizar sprites provisrias para fazer o seu projeto, sempre bom deixar tudo separado em uma pasta. Crie uma pasta para o seu projeto com o nome dele, de preferncia no Desktop. Coloque l todo o contedo de seu projeto, contendo sprites, efeitos sonoros, informaes, etc. uma boa idia crias sub-pastas para resources oficiais e resources provisrias, para deixar tudo bem organizado. Adicionando o material ao Game Maker Precisamos adicionar o material ao Game Maker. Essa matria requer o conhecimento bsico do Game Maker, ento, no vou explicar essa parte detalhadamente. Vamos falar dos sprites. Em um jogo de plataforma, geralmente, se utilizam muitos sprites para o jogador, ento, bom voc criar uma sub-pasta dentro da pasta de sprites s para o jogador. Para criar uma sub-pasta, basta voc clicar com o boto direito do mouse sobre alguma das pastas do Game Maker e clicar em Add Group. s voc nomear a pasta do jeito que preferir e, na hora de inserir sprites, clicar com o boto direito na sub-pasta, e no na pasta normal. Depois, s clicar em Add Sprite (caso voc esteja usando uma sub-pasta na pasta de Sprites). Para tornar fcil a seleo, programao e a troca com os sprites, melhor nome-los de forma correta. sempre bom colocar nomes do tipo: spr_personagem_parado_esq, spr_bruno_parado_esquerda, etc. Esses nomes facilitam a consulta aos sprites, permitindo que sejam trocados e revisados com maior

facilidade. Para este exemplo de jogos de plataforma, vamos precisar dos seguintes sprites: spr_personagem_parado_dir --> Personagem parado para a direita spr_personagem_parado_esq --> Personagem parado para a esquerda spr_personagem_andando_dir --> Personagem andando para a direita spr_personagem_andando_esq --> Personagem andando para a esquerda spr_personagem_pulando_dir --> Personagem pulando para a direita spr_personagem_pulando_esq --> Personagem pulando para a esquerda spr_personagem_mask --> Mscara para o seu personagem fazer colises de qualidade spr_chao_1 --> O ch onde o nosso personagem pisa Ufa! So muitos sprites, no? Por isso recomendei que voc criasse uma sub-pasta especialmente para os sprites do personagem. Lembrando que esta dica tambm serve para blocos e inimigos, pois geralmente tambm possui muitos sprites diferentes. Iniciando o objeto do personagem Vamos comear a programar de verdade. Crie um objeto e chame-o como quiser. Esse ser o objeto do nosso personagem. Uma boa idia de nome para ele seria o nome do personagem principal do jogo, ou seja, ele mesmo ^^. Precisamos declarar variveis para que possamos ter controle sobre o nosso personagem. Adicione um evento Create. Como voc j deve saber, o evento Create o evento executado no instante em que o objeto foi criado. nele que vamos declarar as variveis iniciais do nosso personagem. Adicione o seguinte cdigo nesse evento, atravs da ao execute a piece of code: Cdigo:
image_speed=0.2; // a velocidade da animao do nosso personagem. Aqui, voc pode colocar o valor que desejar. parado=true; //Varivel para indicar se o personagem est parado ou no. andando=false; //Varivel para indicar se nosso personagem est andando ou no. noar=false; //O valor dela vai indicar se o personagem est no ar ou no. Importante para a checagem dos sprites. lado=1; //O lado para que o nosso personagem est virado. 1 seria virado para a direita e 0 para a esquerda.

Agora j definimos as variveis necessrias para iniciarmos a programao do movimento. Todo cuidado importante na hora de escrever os nomes das variveis, pois voc pode acabar confundindo os nomes. Programando o movimento do nosso personagem Vamos programar o movimento do nosso personagem. Adicione um evento Step. como voc j deve saber, ele uma ao que executada sempre. Funciona como o Always, para os usurios dos makers da Click Team. Use a ao execute a piece of code para adicionar o seguinte cdigo:

Cdigo:
if (place_free(x,y+1)) //Checa se 1 pixel abaixo est vazio, ou seja, no tem cho. {gravity=0.45; noar=true; //Coloca valor na gravidade e define a varivel noar para true, ou seja, o personagem no est no cho. } else //Se a expresso place_free for falsa, ou seja, tenha cho embaixo: {gravity=0; noar=false; //Gravidade se torna zero e a varivel noar se torna false, ou seja, o personagem est no cho. } //Definies de pulo if (keyboard_check_pressed(ord("X"))) && ! (place_free(x,y+1)) //Checa se a tecla de direo cima foi pressionada e se NO tem um pixel livre abaixo. { vspeed=-5; noar=true; //Se for verdade, velocidade vertical se torna 5 negativo e a varivell noar se torna true, ou seja, o personagem NO est no cho. } if (vspeed>12) //Checa se a velocidadevertical do personagem possui um valor maior que 12. vspeed=12; //Se tiver, o valor se torna 12. Isso serve para que o personagem no ultrapasse grandes velocidades verticais, podendo causar bugs no jogo. if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x3,y)) //Checa se a tecla de direo esquerda est sendo pressionada, se a tecla direita NO est sendo pressionada e se tem 3 pixels de espao esquerda. {x-=3; lado=0; andando=true; parado=false; //Caso a expresso acima seja verdadeira, o personagem se move 3 pixels a esquerda, vir para a esquerda de acordo com a varivel lado, a varivel andando se torna true para indicar que o personagem est andando e a varivel parado se torna false, ou seja, o personagem NO est parado. } if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+3,y)) //Mesmo de cima, s que dessa vez, checamos se a tecla de direo direita est sendo pressionada, se a tecla de direo esquerda NO est sendo pressionada e se tem 3 pixels direita livre. {x+=3; lado=1; andando=true; parado=false; //A mesma coisa do evento anterior. A nica coisa que muda que aqui o personagem se move 3 pixels a direita e a varivel lado se torna 1, ou seja, ele vira pra direita. } if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) //Checa se a tecla direita e a tecla esquerda no esto sendo precionadas. {andando=false; parado=true; //Caso seja verdade, a varivel andando se torna false, ou seja, o personagem NO est andando. E a varivel parado se torna true, ou seja, o personagem est parado. } //Sprites if (noar==false) //Checa se o personagem est no ar. { if (andando=true) && (lado==1) //Checa se o personagem est andando e se ele est virado para a direita. {

sprite_index=spr_personagem_andando_dir; //Se sim, a sprite dele se torna a sprite do personagem andando para a direita. } if (andando=true) && (lado==0) //Checa se o personagem est andando e se ele est virado para a esquerda. { sprite_index=spr_personagem_andando_esq; //Se sim, o sprite dele se torna a sprite do personagem andando para a esquerda. } if (andando==false) && (parado==true) && (lado==1) //Se o personagem no est andando, se o personagem est parado e est virado para a direita: { sprite_index=spr_personagem_parado_dir; //Se sim, a sprite dele se torna a sprite do personagem parado para a direita. } if (andando==false) && (parado==true) && (lado==0) //Se o personagem no est andando, est parado e est virado para a esquerda: { sprite_index=spr_personagem_parado_esq; //Se sim, a sprite dele se torna o sprite do personagem parado para a esquerda. } } else //Caso o personagem NO esteja com os ps no cho: { if (vspeed>0) || (vspeed<0) && (lado==1) //Se ele est pulando ou caindo e est virado para a direita: { sprite_index=spr_personagem_pulando_dir; //O sprite do personagem se torna o sprite dele pulando para a direita. } if (vspeed>0) || (vspeed<0) && (lado==0) //Se o personagem est pulando ou caindo e est virado para a esquerda: { sprite_index=spr_personagem_pulando_esq; //O sprite do personagem se torna o sprute dele pulando para a esquerda. } }

Esse cdigo pode ser um pouco difcil de entender se no for um programador. Por isso, separei os cdigos por partes e coloquei muitos comentrios para que voc entende como funciona cada coisa no cdigo. Deixo a minha dica de voc testar fazer modificaes nesse cdigo, pois ser um bom treino com as funes vistas acima e voc poder conseguir efeitos interessantes. Programando a coliso Ns j demos um movimento ao personagem, mas ele no possui colises. Ou seja: o cho no existe para ele. Precisamos criar o cho onde ele vai andar. Antes de criar o objeto do cho, precisamos fazer uma pequena modificao no objeto do personagem. Embaixo da seleo do objeto parent, existe a opo Mask. ali, voc pode selecionar a sprite para ser utilizada como mscara no objeto. Selecione a sprite spr_personagem_mask, que ns adicionamos no inicio. Agora, crie um novo objeto, chame-o de obj_chao. Ele ser o cho em que nosso personagem ir pisar. Escolha a spr_chao para ele e marque a opo Solid nele. Isso vai indicar que ele vai ser slido, como uma parede, e qualquer objeto que tenha um evento de coliso com ele no poder atravess-lo.

Voltando para o personagem, adicione um evento Collision com o obj_chao. Esse ser o evento da coliso do personagem com o cho do jogo. Coloque o seguinte cdigo: Cdigo:
move_contact_solid(direction,12); vspeed=0;

A primeira linha serve para indicar que teve a coliso com um objeto slido. O primeiro argumento para voc indicar a direo que colidiu, e nesse caso, colocamos a varivel padro direction do nosso personagem. Depois s voc colocar o nmero de direes mximas para o personagem. A segunda linha indica que a varivel padro vspeed deve ter o valor 0, ou seja, a velocidade vertical zerada. Encerrando o tutorial Com este tutorial, voc descobriu dicas para se fazer um jogo de plataforma, e aprendeu como configurar um movimento bsico de um personagem. Espero que vocs tenham gostado do tutorial e que tenham aprendido mais sobre essa jia que o Game Maker.

Vous aimerez peut-être aussi