GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[Tutorial]-Primeiro jogo com GML (Aula 01)

3 participantes

Ir para baixo

[Tutorial]-Primeiro jogo com GML (Aula 01) Empty [Tutorial]-Primeiro jogo com GML (Aula 01)

Mensagem por glasdou Qui 02 Jan 2014, 21:19


  • Título: Primeiro jogo com GML (Aula 01)
  • Versão do GM: Game Maker Studio(qualquer versão)
  • Dificuldade: iniciante
  • Link para download da Engine: [Download]Engine
  • Link para download dos Recursos: [Download]Recursos
  • Requer Extensões: Não
  • Requer DLLs: Não
  • Tags: Tutorial-Game-Maker-Studio-Primeiro-Jogo-Plataforma.





Olá gente bonita!O Puxa Saco!!
Hoje vim trazer um tutorial para iniciantes, é sobre como criar um jogo de plataforma com GML.
Bom chega de papo e vamos ao trabalho. O mandão

Esta é a primeira aula, então vai ser bem simples.

1° Abra o GMS, crie um novo projeto e dê o nome de Primeiro Jogo(opcional)
depois clique no botão Create a Sprite [Tutorial]-Primeiro jogo com GML (Aula 01) Bb46,vá até a pasta recursos (que você faz download logo acima),sprites, maze-platform e procure a sprite "explorer_right_strip8", dê o nome de spr_explorador.
Agora faça a mesma coisa mas dessa vez a sprite vai ser a "explorer_jumpright" e o nome vai ser spr_no_ar.
agora abra novamente a spr_explorador e coloque a origem em 16x31 (x = 16, y = 31),clique em modify mask [Tutorial]-Primeiro jogo com GML (Aula 01) Tnat e depois em full image [Tutorial]-Primeiro jogo com GML (Aula 01) G8bk
faça a mesma coisa para a spr_no_ar
logo apos crie  uma sprite translucida, eu fiz esta [Tutorial]-Primeiro jogo com GML (Aula 01) Qzm7, e dê o nome  de spr_bloco.
pronto terminamos...
o que? ja terminamos?
...com as sprites. hehe

agora vamos criar os objetos.
clique em Create an object [Tutorial]-Primeiro jogo com GML (Aula 01) Qwig, dê o nome de  obj_explorador e coloque a sprite spr_explorador, agora vamos programar ele.
No evento create coloque o seguinte codigo
Código:
///variaveis
pulo = 1  //variavel que controla os pulos
depois no evento step coloque este codigo
Código:
///código step
//gravidade
if place_free(x,y + 4){ // se o explorador estiver no ar
    gravity  = 1 //tem gravidade
    sprite_index = spr_no_ar // o sprite é o spr_no_ar
}
else{  //se não
    gravity = 0 //não tem gravidade
    pulo = 1
   sprite_index = spr_explorador //o sprite é o spr_explorador
}
//movimentos
if place_free(x + 4,y) and keyboard_check(ord("D")){ //se estiver desocupado a posiçao 4 pixels a direita do explorador e a tecla "D" estiver pressionada...
        x += 4 //...o explorador se move 4 pixels para a direita
        image_xscale = 1 //o sprite esta virado para a direita
}
else if place_free(x - 4,y) and keyboard_check(ord("A")){ //se estiver desocupado a posiçao 4 pixels a esquerda do explorador e a tecla "A" estiver pressionada...
        x -= 4 //...o explorador se move 4 pixels para a esquerda
        image_xscale = -1 //o sprite esta virado para a esquerda
}
else { // se não
    image_index = 0 // se nao estiver pressionada nenhuma tecla o explorador para de mover os pés
}

//pulo
if keyboard_check_pressed(ord('W'))and (pulo <= 2){ // se estiver presionada a tecla "W" e o explorador deu menos de 2 pulos...
    vspeed = -12 //o explorador pula
    pulo += 1 //e registra que ele deu mais 1 pulo
}
a função place_free() checa se determinado lugar esta desocupado.


a função keyboard_check() checa se alguma tecla(Key) esta sendo pressionada ex: enquanto você presionar "D" o explorador vai ficar andando, quando voce soltar ele para.


e a função keyboard_check_pressed() checa apenas se uma tecla(key) foi pressionada, e não se esta sendo pressionada ex:se você ficar pressionando a tecla "W" o explorador vai pular apenas 1 vez, mas se você pressionar,soltar e voltar a pressionar ele vai pular 2 vezes.

agora vamos criar um objeto chamado obj_bloco, a sprite dele vai ser a spr_bloco(a sprite translucida que criamos anteriormente),coloque ele como sólido e pronto.


volte ao obj_explorador, adicione um evento collision com obj_bloco e coloque o seguinte codigo
Código:
///código collision
move_contact_solid(direction,12) //evita um bug(uma travada estilo "escadinha")
vspeed = 0
a função move_contact_solid() faz com que o obj_explorador retorne pra posição 12 pixels antes de ocorrer a colisão com o obj_bloco evitando um bug sinistro ,retire ela se quiser saber qual é o bug.


crie uma room, encha de blocos, coloque o obj_explorador no centro dela e teste.


eu  fiz esta [Tutorial]-Primeiro jogo com GML (Aula 01) D2ok


até a proxima aula 


Abraços
glasdou
glasdou

Data de inscrição : 21/11/2013
Reputação : 3
Número de Mensagens : 95
Prêmios : [Tutorial]-Primeiro jogo com GML (Aula 01) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Tutorial]-Primeiro jogo com GML (Aula 01) Empty Re: [Tutorial]-Primeiro jogo com GML (Aula 01)

Mensagem por fredcobain Qua 15 Jan 2014, 10:34

Bem explicado. Bem comentado. Aprovado!
fredcobain
fredcobain

Games Ranking : Sem avaliações

Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios : [Tutorial]-Primeiro jogo com GML (Aula 01) Empty

Medalhas x 0 Tutoriais x 3 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Tutorial]-Primeiro jogo com GML (Aula 01) Empty Re: [Tutorial]-Primeiro jogo com GML (Aula 01)

Mensagem por vitorfernandes13 Qua 15 Jan 2014, 12:27

Olá parabéns pelo tutorial, se ate eu entendi (quase tudo) qualquer um entendi  Razz , pf não pare, estou começando a aprender o Game Maker, mas, tenho algumas dúvidas, eu não encontrei esse negócio de origem, e modify mask, vc poderia me mostrar com imagem onde se encontra?? :3

Eu não entendi o por quê de criar a variável pulo, e usá-la no else no código abaixo  Suspect 

agora abra novamente a spr_explorador e coloque a origem em 16x31 (x = 16, y = 31),clique em modify mask [Tutorial]-Primeiro jogo com GML (Aula 01) Tnat e depois em full image [Tutorial]-Primeiro jogo com GML (Aula 01) G8bk
faça a mesma coisa para a spr_no_ar
logo apos crie  uma sprite translucida, eu fiz esta [Tutorial]-Primeiro jogo com GML (Aula 01) Qzm7, e dê o nome  de spr_bloco.
pronto terminamos...
o que? ja terminamos?
...com as sprites. hehe


Código:
///código step
//gravidade
if place_free(x,y + 4){ // se o explorador estiver no ar
    gravity  = 1 //tem gravidade
    sprite_index = spr_no_ar // o sprite é o spr_no_ar
}
else{  //se não
    gravity = 0 //não tem gravidade
    pulo = 1
   sprite_index = spr_explorador //o sprite é o spr_explorador
}
//movimentos
if place_free(x + 4,y) and keyboard_check(ord("D")){ //se estiver desocupado a posiçao 4 pixels a direita do explorador e a tecla "D" estiver pressionada...
        x += 4 //...o explorador se move 4 pixels para a direita
        image_xscale = 1 //o sprite esta virado para a direita
}
else if place_free(x - 4,y) and keyboard_check(ord("A")){ //se estiver desocupado a posiçao 4 pixels a esquerda do explorador e a tecla "A" estiver pressionada...
        x -= 4 //...o explorador se move 4 pixels para a esquerda
        image_xscale = -1 //o sprite esta virado para a esquerda
}
else { // se não
    image_index = 0 // se nao estiver pressionada nenhuma tecla o explorador para de mover os pés
}
E eu poderia fazer o código da gravidade assim??

Código:

//gravidade
if place_free(x,y + 4){ // se o explorador estiver no ar
    y + 4 //ele poderá pular
    gravity  = 1 //tem gravidade
    sprite_index = spr_no_ar // o sprite é o spr_no_ar
}
else{  //se não
    gravity = 0 //não tem gravidade
    pulo = 1
   sprite_index = spr_explorador //o sprite é o spr_explorador
}
E pela minha lógica o explorador so poderia pular 2 vezes, porque fala que se pulo for menor ou igual a 2, a variável pulo receberá mais um, ou seja ficará pulo = 2 e se o explorador pular de novo ficará pulo = 3 sendo assim, ele não poderia pular de novo... Razz


Código:

//pulo
if keyboard_check_pressed(ord('W'))and (pulo <= 2){ // se estiver presionada a tecla "W" e o explorador deu menos de 2 pulos...
    vspeed = -12 //o explorador pula
    pulo += 1 //e registra que ele deu mais 1 pulo
}

E, apenas uma confirmação, você colocou gravity = 1, quando ele está pulando para que a gravidade o puxe para baixo??
vitorfernandes13
vitorfernandes13

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios : [Tutorial]-Primeiro jogo com GML (Aula 01) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Tutorial]-Primeiro jogo com GML (Aula 01) Empty Re: [Tutorial]-Primeiro jogo com GML (Aula 01)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos