Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[TUTO] Criando um Game de Plataforma [TUTO]
+12
LeaoQueRuge124
bodi_oliveira
kbcaecb
Alexandre Dias
Leodin
Kyuubi
Natan Kawan Araujo Freire
alexs2195
Joton
victor_aco
vitor_liminha123
.:Allison:.
16 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 2
Página 1 de 2 • 1, 2
[TUTO] Criando um Game de Plataforma [TUTO]
Fazendo um game de Plataforma
Olá, hoje vou ensinar a fazer um game de plataforma completo! Meu nome é Allison e esse é meu tutorial numero 2.
Categoria: Tutorial
Gênero: Plataforma
Plataforma: Game Maker 8 PRO
Nível: Iniciante
Créditos: Allison
Vamos Ao Trabalho
Primeiro precisamos ter as sprites prontas, vamos usar as sprites do maze-plataform que já vem instalado com o Game Maker, procure a pasta do Game Maker, creio que foi instalado no Disco C/, depois de achado vá na pasta: Sprites e depois em maze-plataform se você achou ótimo, agora já sabemos onde estão os sprites.Agora abra seu Game maker coloque as sprites:
explorer_left_strip8 = player_esquerda
explorer_right_strip8 = player_direita
explorer_jumpleft = player_pulando_dir
explorer_jumpright = player_pulando_esq
wall_block = bloco
gem_green_sparkle_strip32 = moeda
apple = maçã
key_gold_sparkle_strip32 = chave
chest_reinforced_closed = bau_fechado
chest_reinforced_open = baú_aberto
gold_bar_sparkle_strip32 = barra_de_ouro
item_life = vida
exitsign = sair
Teremos outro tipo de sprite, a do inimigo, que não consegui achar na pasta do Maze-plataform então passarei a imagem e vocês colocam lá ok ? as imagens são:
vocês salvam essa imagem e giram para o lado oposto depois faça um strip das duas ou melhor, uma animação, se você não sabe pergunta para alguem ou vbr algum tutorial o neme dele será: inimigo_direita e inimigo_esquerda
os nomes que estão depois de (=) são o nome que vocês deveram dar aos sprites, crie objetos com todas menos o player que é só 1 objeto para as suas sprites, para fazer os sprites do player parado basta copiar a primeira imagem do player e depois criar outra sprite e colar, é muito simples, os objetos deveram ter os mesmos nomes só que antes da palavra o nome (obj_)por exemplo, obj_bloco, obj_bau_aberto deverá ficar mais ou menos assim:
Vamos agora programar o mais importante: o player
Adicione um evento Creat nele e coloque:
Pronto, já declaramos as variáveis agora falta fazer ele se movimentar, coloque no step:
Pronto agora ele já sabe andar, mais... cadê o chão ? Isso, bem lembrado precisamos de um chão que será o obj_bloco abra-o e marque como sólido que fica no canto esquerdo da janela que abriu, va no obj_player novamente e crie uma colisão com o obj_bloco e coloque o seguinte código:
agora vamos para a mask do player, crie uma nova sprite e crie um quadrado um pouco maior doque o player (você pode utilizar o editor de sprites do GM se quiser) e defina como a mask do player.
Agora vamos ver como ficou!! Crie uma nova room e nela faça a plataforma dos obj_bloco e coloque o player e qualquer ponto como esse:
Teste seu jogo e repare muito nos sprites, repare que eles estão mudando ao você fazer qualquer operação, pornto o player já está andando falta agora o inimigo!! Então... Let’s go >>>>
Eu não vou fazer um inimigo com inteligência artificial porque acho que para vocês iniciantes com Game Maker ficaria muito difícil então eu vou usar uma técnica super fácil, vamos lá!
Primeiro crie um novo sprite edite-o e preencha-o com a cor que você quiser o importante é que o tamanho seja 32x32 agora crie dois objetos com o mesmo sprite um se chamará obj_rebate_inim_dir e o outro obj_rebate_inim_esq pronto, desmarque a opção visible dos dois, va no inimigo e crie um evento creat e execulte um código:
e vá na aba move e arraste a opção move fixed para dentro das ações, como na imagem abaixo:
Agora na janela que abriu configure assim:
Depois aperte ok
Agora crie uma colisão do player com o obj_rebate_inim_dir depois va na aba move e selecione a mesma opção anterior: move Fixed mais agora configure diferente, como você ta colidindo com o obj_inim_rebate_dir é obvio que você va para esquerda, então... marque somente a seta que aponta para a esquerda e em Speed coloque 1 que será a velocidade que o nosso inimigo vai andar, não marque relativo e dê ok. Agora va na aba main1 e procure a opção change Sprite e arraste para a janela de ações, na janela que abriu escolha na opção:
Sprite: esprite do inimigo indo para esquerda
Submagem: coloque 0
Speed: coloque 0.5
E de ok.
crie uma colisão com o obj_rebate_inim_esq coloque na aba move e depois move fixed mais agora mude a posição da setinha além deque você esta colidindo com o obj_rebate_inim_esq a velocidade é a mesma, na aba main1 scolha a opção Chang Sprite e configure assim:
Sprite: Esprite do inimigo indo para a esquerda
Submagem: coloque 0
Speed: coloque 0.5
De ok.
Pronto nosso inimigo já está andando vamos colocar na room para vermos se deu certo.
Veja a imagem abaixo:
Ele já anda mais queremos que quando o player bata em cima dele, ele morra e quando colidir por baixo, o player morra, vamos lá, é bem simples é só você prestar atenção nos códigos e nas suas explicações.
Vá no player e crie uma colisão com o inimigo na colisão coloque o seguinte código:
Pronto agora você já pula em cima dele e ele vai se destroir!
Vamos para uma parte super importante agora, as vaiáveis, é com elas que vamos faze as outras ações, essa é uma parte longa então vamos ao trabalho
Coloque no evento other > Game Start do player:
Declaramos as variáveis pontos, vidas e ouro agora vamos usalas! Atenção: Usamos o global. na frente quando uma variável será usada para outro obj e também colocamos em Game Start porque elas vão acontecer toda vez que começa e não toda a vez que inicia.
Primeiro mude o código que ta na colisão do player com o inimigo
Pronto aqui ele já tem pontuação e vidas controladas.
Vamos passar para outros itens
Crie uma colisão do player com o obj_moeda e coloque:
isso implica dizer que, quando o player colidir com o obj_moeda ele vai ganhar 10 pontos agora va no obj_moeda e faça uma colisão com o player nela coloque o código:
Agora quando ela colidir com o player ela vai se destoir mais a pontuação vai acontecer primeiro porque o player que vai chegar nela.
Vamos para o obj_maça nele é bem simples, quero que ele tenha o mesmo procedimento do obj_moeda só que vou terque fazer o código tudo de novo? Não !!!! apenas coloque a maçã como parente da moedas, mais como eu faço isso ? Haa é simples apenas do lado esquerdo de qualquer objeto ali onde coloca o nome mais para baixo um pouquinho e tem várias opções incluindo “parent” ai é só você escolher o obj_moedas para ser seu parente.
Vamos para o obj_vida, toda vez que eu colidir com ele, eu quero que eu ganhei 1 vida, é muito fácil!! Coloque na colisão do player com o obj_vidas assim:
E na colisão do obj_vidas com o player:
Vamos agora para o obj_barra_de_ouro, nele eu quero que adicione 1 barra de ouro aquela variável que usamos lá também é muito fácil é apenas colocar na colisão do player com o obj_barra_de_ouro:
E na colisão do obj_barra_de_ouro com o player:
Vamos para o obj_sair é muito simples, queremos que quando o player colidir com obj_sair ele saia d jogo então coloque na colisão do obj_sair com o player:
Vamos para uma parte um pouco trabalhosa agora! a parte das chaves e do baú.
No obj_bau_fechado crie um evento creat e coloque assim:
No step do mesmo coloque:
Crie um evento de colisão do obj_chave com o player e coloque:
Agora no obj_bau_aberto crie um evento de colisão com o player e coloque:
Pronto!! Uffaa!! terminamos todos os objetos mais falta ainda uns mínimos detalhes, vamos começar pelo mais grave
Queremos que o apareça na minha tela informando quanto eu tenho de vida, ouro, pontos então é para já! Vamos fazer aparecer agorinha
Vá ao player e adicione o evento draw, lá execulte o seguinte código:
vou explicar melhor
a expressão “draw_set_color” quer dizer que é para pintar o texto.
A expressão “draw_text” quer dizer que é para desenhar um texto.
A expressão “view_xview[0]+20” quer dizer que ele desenhará o texto na posição x (que é a horizontal) 20, você poderia colocar só o numero 20, mais ele será fixo, ou seja, se fizermos uma ROom mais estendida ele não irá acompanhar a room, por isso colocamos view_xview.
A expressão “view_yview+2” é simplismente a mesma coisa só que na posição y da tela (que é a vertical)
A expressão “ “Pontos:” ” é o texto que será desenhado na tela, ele não significa nenhuma variável por isso que está entre aspas.
A expressão “+string” quer dizer andar em fila, ou seja, vai andar um pouco na mesma fila.
A expressão (global.pontos) é a variável que usamos, acontece a mesma coisa com os outros códigos.
Vá ao step do player, vamos configurar as vidas, para que quando chegar em 0 ele morra! Coloque:
Pronto, vamos mexer agora com a room, vamos definir o tamanho dela e como vai ser visto quando for iniciada, let’s GO >>>
Vamos definir o tamanho dela, abra a room e vá em settings e configure como a imagem abaixo:
Name é o nome da room.
Width que dizer é o tamanho horizontal da room, eu defini como 1000 e Height é o tamanho vertical.
Speed é a velocidade dela.
Eu fiz de um tamanho mais você pode fazer do tamanho que você quiser vamos definir as opções de views, va na aba views que fica no mesmo canto da aba settings e configure como a imagem abaixo:
Dê ok lá em cima e vá em Global Game Setings que fica perto das pastas dos objetos, srites, room e etc., ele é o penúltimo e configure-o assim:
Pronto agora personalize sua room, e pode testar!
Se você não conseguiu fazer com o tutorial, baixe a engne clicandoAqui
Esse foi mais um tutorial da equipe X-Games, feito especificamente por Allison.
- Espero que tenha ajudado, tenho prazer em fazer isso!
Olá, hoje vou ensinar a fazer um game de plataforma completo! Meu nome é Allison e esse é meu tutorial numero 2.
Categoria: Tutorial
Gênero: Plataforma
Plataforma: Game Maker 8 PRO
Nível: Iniciante
Créditos: Allison
Vamos Ao Trabalho
Primeiro precisamos ter as sprites prontas, vamos usar as sprites do maze-plataform que já vem instalado com o Game Maker, procure a pasta do Game Maker, creio que foi instalado no Disco C/, depois de achado vá na pasta: Sprites e depois em maze-plataform se você achou ótimo, agora já sabemos onde estão os sprites.Agora abra seu Game maker coloque as sprites:
explorer_left_strip8 = player_esquerda
explorer_right_strip8 = player_direita
explorer_jumpleft = player_pulando_dir
explorer_jumpright = player_pulando_esq
wall_block = bloco
gem_green_sparkle_strip32 = moeda
apple = maçã
key_gold_sparkle_strip32 = chave
chest_reinforced_closed = bau_fechado
chest_reinforced_open = baú_aberto
gold_bar_sparkle_strip32 = barra_de_ouro
item_life = vida
exitsign = sair
Teremos outro tipo de sprite, a do inimigo, que não consegui achar na pasta do Maze-plataform então passarei a imagem e vocês colocam lá ok ? as imagens são:
vocês salvam essa imagem e giram para o lado oposto depois faça um strip das duas ou melhor, uma animação, se você não sabe pergunta para alguem ou vbr algum tutorial o neme dele será: inimigo_direita e inimigo_esquerda
os nomes que estão depois de (=) são o nome que vocês deveram dar aos sprites, crie objetos com todas menos o player que é só 1 objeto para as suas sprites, para fazer os sprites do player parado basta copiar a primeira imagem do player e depois criar outra sprite e colar, é muito simples, os objetos deveram ter os mesmos nomes só que antes da palavra o nome (obj_)por exemplo, obj_bloco, obj_bau_aberto deverá ficar mais ou menos assim:
Vamos agora programar o mais importante: o player
Adicione um evento Creat nele e coloque:
- Código:
image_speed=0.5; //É a velocidade da animação do nosso personagem. Aqui, você pode colocar o valor que desejar.
parado=true; //Variável para indicar se o personagem está parado ou não.
andando=false; //Variável para indicar se nosso personagem está andando ou não.
noar=false; //O valor dela vai indicar se o personagem está no ar ou não. Importante para a checagem dos sprites.
lado=0; //O lado para que o nosso personagem está virado. 1 seria virado para a direita e 0 para a esquerda
Pronto, já declaramos as variáveis agora falta fazer ele se movimentar, coloque no step:
- Código:
/////////////////////////////////Gravidade////////////////////////////////
if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, ou seja, não tem chão.
{gravity=0.5; noar=true;
//Coloca valor na gravidade e define a variável noar para true, ou seja, o personagem não está no chão.
} else
//Se a expressão place_free for falsa, ou seja, tenha chão embaixo:
{gravity=0; noar=false; //Gravidade se torna zero e a variável noar se torna false, ou seja, o personagem está no chão.
}
////////////////////////////Definiões de pulo////////////////////////////
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1)) //Checa se a tecla de direção cima foi pressionada e se NÃO tem um pixel livre abaixo.
{
vspeed=-8; noar=true; //Se for verdade, velocidade vertical se torna 5 negativo e a variávell noar se torna true, ou seja, o personagem NÃO está no chão.
}
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 não ultrapasse grandes velocidades verticais, podendo causar bugs no jogo.
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-3,y)) //Checa se a tecla de direção esquerda está sendo pressionada, se a tecla direita NÃO está sendo pressionada e se tem 3 pixels de espaço à esquerda.
{x-=3.5; lado=0; andando=true; parado=false; //Caso a expressão acima seja verdadeira, o personagem se move 3 pixels a esquerda, virá para a esquerda de acordo com a variável lado, a variável andando se torna true para indicar que o personagem está andando e a variável parado se torna false, ou seja, o personagem NÃO 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 direção direita está sendo pressionada, se a tecla de direção esquerda NÃO está sendo pressionada e se tem 3 pixels à direita livre.
{x+=3.5; 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 variável 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 não estão sendo precionadas.
{andando=false; parado=true; //Caso seja verdade, a variável andando se torna false, ou seja, o personagem NÃO está andando. E a variável 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=player_direita; //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=player_esquerda; //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 não está andando, se o personagem está parado e está virado para a direita:
{
sprite_index=player_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 não está andando, está parado e está virado para a esquerda:
{
sprite_index=player_parado_esq; //Se sim, a sprite dele se torna o sprite do personagem parado para a esquerda.
}
}
else //Caso o personagem NÃO esteja com os pés no chão:
{
if (vspeed>0) || (vspeed<0) && (lado==1) //Se ele está pulando ou caindo e está virado para a direita:
{
sprite_index=player_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=player_pulando_esq; //O sprite do personagem se torna o sprute dele pulando para a esquerda.
}
}
Pronto agora ele já sabe andar, mais... cadê o chão ? Isso, bem lembrado precisamos de um chão que será o obj_bloco abra-o e marque como sólido que fica no canto esquerdo da janela que abriu, va no obj_player novamente e crie uma colisão com o obj_bloco e coloque o seguinte código:
- Código:
move_contact_solid(direction,12);
vspeed=0;
agora vamos para a mask do player, crie uma nova sprite e crie um quadrado um pouco maior doque o player (você pode utilizar o editor de sprites do GM se quiser) e defina como a mask do player.
Agora vamos ver como ficou!! Crie uma nova room e nela faça a plataforma dos obj_bloco e coloque o player e qualquer ponto como esse:
Teste seu jogo e repare muito nos sprites, repare que eles estão mudando ao você fazer qualquer operação, pornto o player já está andando falta agora o inimigo!! Então... Let’s go >>>>
Eu não vou fazer um inimigo com inteligência artificial porque acho que para vocês iniciantes com Game Maker ficaria muito difícil então eu vou usar uma técnica super fácil, vamos lá!
Primeiro crie um novo sprite edite-o e preencha-o com a cor que você quiser o importante é que o tamanho seja 32x32 agora crie dois objetos com o mesmo sprite um se chamará obj_rebate_inim_dir e o outro obj_rebate_inim_esq pronto, desmarque a opção visible dos dois, va no inimigo e crie um evento creat e execulte um código:
- Código:
image_speed=0.5
e vá na aba move e arraste a opção move fixed para dentro das ações, como na imagem abaixo:
Agora na janela que abriu configure assim:
Depois aperte ok
Agora crie uma colisão do player com o obj_rebate_inim_dir depois va na aba move e selecione a mesma opção anterior: move Fixed mais agora configure diferente, como você ta colidindo com o obj_inim_rebate_dir é obvio que você va para esquerda, então... marque somente a seta que aponta para a esquerda e em Speed coloque 1 que será a velocidade que o nosso inimigo vai andar, não marque relativo e dê ok. Agora va na aba main1 e procure a opção change Sprite e arraste para a janela de ações, na janela que abriu escolha na opção:
Sprite: esprite do inimigo indo para esquerda
Submagem: coloque 0
Speed: coloque 0.5
E de ok.
crie uma colisão com o obj_rebate_inim_esq coloque na aba move e depois move fixed mais agora mude a posição da setinha além deque você esta colidindo com o obj_rebate_inim_esq a velocidade é a mesma, na aba main1 scolha a opção Chang Sprite e configure assim:
Sprite: Esprite do inimigo indo para a esquerda
Submagem: coloque 0
Speed: coloque 0.5
De ok.
Pronto nosso inimigo já está andando vamos colocar na room para vermos se deu certo.
Veja a imagem abaixo:
Ele já anda mais queremos que quando o player bata em cima dele, ele morra e quando colidir por baixo, o player morra, vamos lá, é bem simples é só você prestar atenção nos códigos e nas suas explicações.
Vá no player e crie uma colisão com o inimigo na colisão coloque o seguinte código:
- Código:
if (y < other.y) && (vspeed > 0) // Se a altura dele for maior que do inimigo e quando colidir em 0 de velicidade
{
vspeed=-5 // Faça ele dar o pulinho pra cima
with(other){score+=10; instance_destroy()} //almenta pontuação,tocar som,e destruir a outra instância (inimigo)
}
else // Senão
{
//tocar som
//pontuasão = 0
//vidas-=1
room_restart()
} // Recomeça o jogo
Pronto agora você já pula em cima dele e ele vai se destroir!
Vamos para uma parte super importante agora, as vaiáveis, é com elas que vamos faze as outras ações, essa é uma parte longa então vamos ao trabalho
Coloque no evento other > Game Start do player:
- Código:
global.pontos=0
global.vidas=3
global.ouro=0
Declaramos as variáveis pontos, vidas e ouro agora vamos usalas! Atenção: Usamos o global. na frente quando uma variável será usada para outro obj e também colocamos em Game Start porque elas vão acontecer toda vez que começa e não toda a vez que inicia.
Primeiro mude o código que ta na colisão do player com o inimigo
- Código:
if (y < other.y) && (vspeed > 0) // Se a altura dele for maior que do inimigo e quando colidir em 0 de velicidade
{
vspeed=-5 // Faça ele dar o pulinho pra cima
with(other){pontos+=10; instance_destroy()} //aumenta pontuação destruir a outra instância (obj_inimigo)
}
else // Senão
{
//você pode colocar um som aqui dele morrendo
global.pontos=0
global.vidas-=1
room_restart()
} // Recomeça o jogo
Pronto aqui ele já tem pontuação e vidas controladas.
Vamos passar para outros itens
Crie uma colisão do player com o obj_moeda e coloque:
- Código:
global.pontos+=10
isso implica dizer que, quando o player colidir com o obj_moeda ele vai ganhar 10 pontos agora va no obj_moeda e faça uma colisão com o player nela coloque o código:
- Código:
instance_destroy()
Agora quando ela colidir com o player ela vai se destoir mais a pontuação vai acontecer primeiro porque o player que vai chegar nela.
Vamos para o obj_maça nele é bem simples, quero que ele tenha o mesmo procedimento do obj_moeda só que vou terque fazer o código tudo de novo? Não !!!! apenas coloque a maçã como parente da moedas, mais como eu faço isso ? Haa é simples apenas do lado esquerdo de qualquer objeto ali onde coloca o nome mais para baixo um pouquinho e tem várias opções incluindo “parent” ai é só você escolher o obj_moedas para ser seu parente.
Vamos para o obj_vida, toda vez que eu colidir com ele, eu quero que eu ganhei 1 vida, é muito fácil!! Coloque na colisão do player com o obj_vidas assim:
- Código:
global.vidas+=1
E na colisão do obj_vidas com o player:
- Código:
instance_destroy()
Vamos agora para o obj_barra_de_ouro, nele eu quero que adicione 1 barra de ouro aquela variável que usamos lá também é muito fácil é apenas colocar na colisão do player com o obj_barra_de_ouro:
- Código:
global.ouro+=1
E na colisão do obj_barra_de_ouro com o player:
- Código:
instance_destroy()
Vamos para o obj_sair é muito simples, queremos que quando o player colidir com obj_sair ele saia d jogo então coloque na colisão do obj_sair com o player:
- Código:
game_end()
Vamos para uma parte um pouco trabalhosa agora! a parte das chaves e do baú.
No obj_bau_fechado crie um evento creat e coloque assim:
- Código:
tranca = 0 // declaramos a variável tranca
No step do mesmo coloque:
- Código:
if tranca == 1 { // Se o player pegar 1 chave
effect_create_above(5,x,y,5,c_white) // Crie um efeito
instance_change(obj_bau_aberto,0) // criar uma instancia que é o obj_bau_aberto
}
Crie um evento de colisão do obj_chave com o player e coloque:
- Código:
effect_create_above(1,x,y,3,c_white) // Crie um efeito
obj_porta.tranca += 1 // Adicione uma Chave
instance_destroy() // E destrua
Agora no obj_bau_aberto crie um evento de colisão com o player e coloque:
- Código:
global.ouro+=2//adiciona mais 2 ouros
global.vidas+=3//3 vidas
global.pontos+=1000// e mil pontos
instance_destroy()
Pronto!! Uffaa!! terminamos todos os objetos mais falta ainda uns mínimos detalhes, vamos começar pelo mais grave
Queremos que o apareça na minha tela informando quanto eu tenho de vida, ouro, pontos então é para já! Vamos fazer aparecer agorinha
Vá ao player e adicione o evento draw, lá execulte o seguinte código:
- Código:
draw_set_color(c_white)//pinte da cor branca
draw_text(view_xview[0]+20,view_yview[0]+2,"Pontos:"+string(global.pontos))
draw_text(view_xview[0]+100,view_yview[0]+2,"Vidas:"+string(global.vidas))
draw_text(view_xview[0]+170,view_yview[0]+2,"Ouro:"+string(global.ouro))
vou explicar melhor
a expressão “draw_set_color” quer dizer que é para pintar o texto.
A expressão “draw_text” quer dizer que é para desenhar um texto.
A expressão “view_xview[0]+20” quer dizer que ele desenhará o texto na posição x (que é a horizontal) 20, você poderia colocar só o numero 20, mais ele será fixo, ou seja, se fizermos uma ROom mais estendida ele não irá acompanhar a room, por isso colocamos view_xview.
A expressão “view_yview+2” é simplismente a mesma coisa só que na posição y da tela (que é a vertical)
A expressão “ “Pontos:” ” é o texto que será desenhado na tela, ele não significa nenhuma variável por isso que está entre aspas.
A expressão “+string” quer dizer andar em fila, ou seja, vai andar um pouco na mesma fila.
A expressão (global.pontos) é a variável que usamos, acontece a mesma coisa com os outros códigos.
Vá ao step do player, vamos configurar as vidas, para que quando chegar em 0 ele morra! Coloque:
- Código:
if global.vidas <= 0 then {//se vidas menor ou igual a 0
game_end()//acabar jogo
}
Pronto, vamos mexer agora com a room, vamos definir o tamanho dela e como vai ser visto quando for iniciada, let’s GO >>>
Vamos definir o tamanho dela, abra a room e vá em settings e configure como a imagem abaixo:
Name é o nome da room.
Width que dizer é o tamanho horizontal da room, eu defini como 1000 e Height é o tamanho vertical.
Speed é a velocidade dela.
Eu fiz de um tamanho mais você pode fazer do tamanho que você quiser vamos definir as opções de views, va na aba views que fica no mesmo canto da aba settings e configure como a imagem abaixo:
Dê ok lá em cima e vá em Global Game Setings que fica perto das pastas dos objetos, srites, room e etc., ele é o penúltimo e configure-o assim:
Pronto agora personalize sua room, e pode testar!
Se você não conseguiu fazer com o tutorial, baixe a engne clicandoAqui
Esse foi mais um tutorial da equipe X-Games, feito especificamente por Allison.
- Espero que tenha ajudado, tenho prazer em fazer isso!
Última edição por X-Games em Qua 22 Set 2010, 17:53, editado 3 vez(es)
Re: [TUTO] Criando um Game de Plataforma [TUTO]
Isso é porque é um tutorial para um game completo! ai é muito extensso!
Re: [TUTO] Criando um Game de Plataforma [TUTO]
Não cheguei a ler todo o tutorial mas até onde eu li ele está bem explicado e organizado (só achei um pouco confuso no inicio). Com as imagens fica mais fácil para entender.
Quanto a extensão do tutorial realmente está bem grande. Aconselho você a dividir em partes, além de ficar com uma página mais agradável (não tem que ficar descendo a página) é mais animador na hora de ler.
Te +
Quanto a extensão do tutorial realmente está bem grande. Aconselho você a dividir em partes, além de ficar com uma página mais agradável (não tem que ficar descendo a página) é mais animador na hora de ler.
Te +
victor_aco- Data de inscrição : 25/03/2010
Reputação : 2
Número de Mensagens : 666
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
Cadê a Enginer amigo???? Não consegui encontrar, se não tiver posta por favor!!!!!!!!!!
Pagina do Projeto Brazin - O jogo
Meu blog:www.jotonsn.blogspot.com
Pagina do Projeto Brazin - O jogo
Meu blog:www.jotonsn.blogspot.com
Re: [TUTO] Criando um Game de Plataforma [TUTO]
Não cheguei a ler todo o tutorial mas até onde eu li ele está bem explicado e organizado (só achei um pouco confuso no inicio). Com as imagens fica mais fácil para entender.
Quanto a extensão do tutorial realmente está bem grande. Aconselho você a dividir em partes, além de ficar com uma página mais agradável (não tem que ficar descendo a página) é mais animador na hora de ler.
Te +
Agora que ta feito deixa assim!! No próximo eu divido em 2 ou 3 partes, vlw!
Cadê a Enginer amigo???? Não consegui encontrar, se não tiver posta por favor!!!!!!!!!!
Vlw, mim esquecii... vou agora mesmo postar a engine
Re: [TUTO] Criando um Game de Plataforma [TUTO]
sinto lhe informar que não da pra baixar a enge link quebrado, quando você abre o 4share aparece "The file link that you requested is not valid."
alexs2195- Data de inscrição : 25/07/2010
Reputação : 0
Número de Mensagens : 218
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
tem um errinho na imagem a preimeira(sem comtar a da tertaruga) vc se esqueceu de colocar o explorador pulando par a direita e para a esq
ha e left é esquerda
right é direita
ha e left é esquerda
right é direita
Natan Kawan Araujo Freire- Data de inscrição : 23/08/2010
Reputação : 0
Número de Mensagens : 289
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
onde é que fica esse negocio de mask não to achando e seu fazer um sprite dele parado tem problema?
Natan Kawan Araujo Freire- Data de inscrição : 23/08/2010
Reputação : 0
Número de Mensagens : 289
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
é só vc duplicar o o sprite do player parado e editar e cubra a imagem do player com um quadrado preto ai pron to a mask tá pronta agora pra colocar no player é só vc clicar no player e olhar lá em baixo de parent vai tar mask ai é só vc colocar o sprite que vc editou.
flws!!!
flws!!!
Re: [TUTO] Criando um Game de Plataforma [TUTO]
Algumas pessoas mim reclamaram que o link da engine estava quebrado então eu hospedei denovo!!
Clique Aqui para fazer o download (opção 1)
Clique Aqui para fazer o download (opção 2)
Prontoo ta ai!
========Edit========
O tópico foi editado por causa da Mask do player!
Clique Aqui para fazer o download (opção 1)
Clique Aqui para fazer o download (opção 2)
Prontoo ta ai!
========Edit========
O tópico foi editado por causa da Mask do player!
Re: [TUTO] Criando um Game de Plataforma [TUTO]
você ja não postou isso?
Natan Kawan Araujo Freire- Data de inscrição : 23/08/2010
Reputação : 0
Número de Mensagens : 289
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
EXELENTE TUTU!!!!!!
vc podetia colocar uma versão em .pdf para downloads tb.
gracias
leon
vc podetia colocar uma versão em .pdf para downloads tb.
gracias
leon
Leodin- Data de inscrição : 23/09/2010
Reputação : 0
Número de Mensagens : 1
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
precisa necessariamente ser game maker 8 pro?
ainda não testei, mas aqui só tenho o lite D:
ainda não testei, mas aqui só tenho o lite D:
Alexandre Dias- Data de inscrição : 13/10/2010
Reputação : 8
Número de Mensagens : 397
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
Fms, vo só fazer uns sprites aqui. Mas já ta salvo nos favoritos x)
Foda que não sei fazer sprite. Enfim, quando eu terminar eu posto o resultado
Vlw a atenção man
Foda que não sei fazer sprite. Enfim, quando eu terminar eu posto o resultado
Vlw a atenção man
Alexandre Dias- Data de inscrição : 13/10/2010
Reputação : 8
Número de Mensagens : 397
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
como ponho o spr_player parado ?
kbcaecb- Data de inscrição : 28/10/2010
Reputação : 0
Número de Mensagens : 34
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
Estou vendo que vou ter que ficar Horas e mais Horas nesse post... Pois comecei não faz 1 dia shusahuashusa. Porém, vou seguir a risca oque esta aí. Desde já agradeço!!!!
bodi_oliveira- Data de inscrição : 20/06/2011
Reputação : 0
Número de Mensagens : 1
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTO] Criando um Game de Plataforma [TUTO]
cara, adorei o TUTO
gostaria q vc me acc no msn
leonardobrandt16@hotmail.com
preciso de uma ajuda num projeto que eu estou montando e nao entendo
quase nada de GML, acho eu que soh o basico msm
gostaria q vc me acc no msn
leonardobrandt16@hotmail.com
preciso de uma ajuda num projeto que eu estou montando e nao entendo
quase nada de GML, acho eu que soh o basico msm
LeaoQueRuge124- Data de inscrição : 24/11/2011
Reputação : 1
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» criando um jogo de plataforma game maker
» [TUTO] A melhor movimentação em plataforma - Com Sprites
» [ TUTO VICACO] CRIANDO CRÉDITOS QUE SOBEM
» [Tutorial] Criando um Jogo de Plataforma - Parte 1
» video-tuto [criando 2 tipo de menu pelo lite]
» [TUTO] A melhor movimentação em plataforma - Com Sprites
» [ TUTO VICACO] CRIANDO CRÉDITOS QUE SOBEM
» [Tutorial] Criando um Jogo de Plataforma - Parte 1
» video-tuto [criando 2 tipo de menu pelo lite]
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos