The World of EverGrand
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


 
PortalPortal  InícioInício  ProcurarProcurar  Últimas imagensÚltimas imagens  RegistrarRegistrar  Entrar  

Compartilhe|

[GAME MAKER]Aula 3 - Começando um jogo [Parte 1]

Ver o tópico anterior Ver o tópico seguinte Ir para baixo
AutorMensagem
TiagoBonadio

Outro Maker
Outro Maker

Masculino Postagens : 48
Data de inscrição : 14/11/2009
Localização : Sales Oliveira - SP
Emprego/lazer : Estudante 8° Ano
Mensagem Pessoal : Varia com o tempo
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] 11101010

[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Vide http://seis-lados.forumeiros.com
MensagemAssunto: [GAME MAKER]Aula 3 - Começando um jogo [Parte 1] [GAME MAKER]Aula 3 - Começando um jogo [Parte 1] EmptySeg Nov 16, 2009 7:27 pm

Bom vamos começando mais uma aula e nessa vou começar a ensinar a fzer um jogo estilo plataforma. Usarei nesta aula uma sprite muito conhecida:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemnq
(saiba que no GM a cor de fundo não importa, desde que seja somente uma)



Bom a primeira coisa a se fazer é:
  • Planejar

Como eu disse o inicio de um jogo deve-se primeiro planejar, desenvolver uma historia, reunir as imagens, sons, informações, etc.

Depois disso, ai sim começamos um jogo. mais primeiro temos que criar um objeto, é ele em que vamos colocar os codigos e ações, ou seja, onde vamos interagir.

Bom adicionar um objeto é o mesmo que para sprites, backgorunds, etc. vá na pasta Objects, clique com o bt_direito e então Create Object. Abrirá uma janela assim:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemur

Bom mais de nada serve isso se não adicionarmos umas sprites:
Vamos adicionar o Mario.Configure desta forma:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Marioadd

Ficará desta forma:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Marioadded

Nomeie o sprite de: spr_mario_esq.esq = abreviamento para esqueda, Ah! e não se esqueça de marcar o centro.
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Mario

Clique com o bt_direito em cima do sprite e clique em duplicate, nomeie este de spr_mario_dir. Mais vc vai perguntar : pq dir(direita)? porque vamos inverter ela. faça da seguinte forma: Clique em Edit Sprite > Transform > Mirror Horizontal.:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Marioadd
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Marioadded

Bom pessoal, voltando ao objeto, nomeie-o de obj_mario e em sprite, adicione a sprite do mario para a direita(pode ser esquerda tbm):
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemsoc

Agora vamos a movimentação basica, vou ensinar de dois modos, D&D ou GML. D&D(Drag & Drop) é as funções de clicar e arrastar e GML e game maker language.

  • D&D

Bom primeiro adicione um evento: vá em Add Event > Key Press > Left:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemgi
Depois faça isso novamente, so que desta vez Key Press > Right.

Irá aparecer na coluna Events: press e press, clique em Left. Para adicionar as actions temos as funções classificadas nas abas laterais do GM.
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemeu

vamos usar apenas duas abas para o movimento e troca de sprite: Move e Main1. Primeiro a aba Move.
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemlq <<[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemygh

Podemos Observer que tem a opção relative, se marcarmos ela, ele vai acelerando a cada clique no botão. então deixe-a desmarcada.
Agora vamos fazer com que ele mude de sprite:
Va na aba Main1 e clique na função change sprite:[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemvj. Como o nome ja diz ela muda de sprite. deixamos assim:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemkyx

Em sprite você escolhe a sprite desejada para mudar. Em subimage vc coloca em qual subimagem vai ficar (0 ele roda a animação). E por ultimo speed define a velocidade da animação.
Clique em ok. Agora faça a mesma coisa com o Right mais mudando a "seta" para direita e o spr_mario_esq para spr_mario_dir.

Bom vamos testar a animação, adicionemos uma room que é onde colocamos os objetos, resumindo, onde ocorre tudo. para adicionar clique com o bt_direito na pasta Rooms e depois, Create Room. Vai aparecer uma tela como esta:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemvc

clique em qualquer lugar do espaço em "cinza", você irá adicionar o obj_mario:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemrj

De Ok, no menu superior da janela Room Properties e clique em Run the Game.[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Playax6
  • Você vai reparar que ele não para, para isso adicionemos outro evento dessa ves Add Event > Keyboard > No Key:

[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemro

Desta vez marque a opção central e velocidade 0:
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemat

Outro defeito é que ele parado a imagem continua então colocamos um script em GML (A unica parte). Va na aba Control e adicione um Execute Code: [GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemjvq. e escreva:
Código:
image_speed = 0

  • GML


Bom, ja no GML, vamos precisar de somente uma ação, um execute code[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemjvq. e não é nessessário usar um Event de Key Press, tudo isso será feito no codigo.

Bom vamos deixar os events do obj_mario em branco e adicionar um step, ha 3 tipos, step, begin step e end step; vamos ficar com o step. Apartir de agora, teremos menos imagens e mais codigos simplesmente pq é muito mais eficiente usar GML do q D&D.
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Gmk
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Gmk

Agora adicione um Execute Code [GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Imagemjvq e digite isso. depois explico:

Código:
if (keyboard_check(vk_right)){//verifica se a seta direita foi apertada
    hspeed = 5
}else{// se não foi
    if (keyboard_check(vk_left)){ //verifica se a seta esquerda foi apertada
        hspeed = -5
    }else{// se não foi
        hspeed = 0
    }
}

  • keyboard_check(vk_left) = checa se está apertado alguma letra. O vk_left pode ser mudado.

  • hspeed = velocidade na horizontal, vspeed = vel. na vertical.

Outras vars vou explicar em outra aula.

Bom esse code é suficiente para fazer ele andar mais não para mudar de sprite. Vamos modificar então:
Código:
if (keyboard_check(vk_right)){//verifica se a seta direita foi apertada
    hspeed = 5
    sprite_index = spr_mario_dir
}else{// se não foi
    if (keyboard_check(vk_left)){ //verifica se a seta esquerda foi apertada
        hspeed = -5
        sprite_index = spr_mario_esq
    }else{// se não foi
        hspeed = 0
    }
}
  • O comando sprite_index modifica a sprite usada


Bom mais ainda falta uma coisa a imagem está rapida, para modificarmos vamos adicionar um evento create.
[GAME MAKER]Aula 3 - Começando um jogo [Parte 1] Img1t

Adicionamos um Execute Code e digitamos:
Código:
image_speed = 0.25

agora para a imagem parar quando não apertamos um botão, fazemos a ultima modificação do code:
Código:
if (keyboard_check(vk_right)){//verifica se a seta direita foi apertada
    hspeed = 5
    sprite_index = spr_mario_dir
}else{// se não foi
    if (keyboard_check(vk_left)){ //verifica se a seta esquerda foi apertada
        hspeed = -5
        sprite_index = spr_mario_esq
    }else{// se não foi
        hspeed = 0
        image_index = 1
    }
}
  • image_index, define a sub imagem a ser mostrada. 0 roda a animação.


Bom pessoal chegamos ao fim de mais uma aula e a proxima é sobre variaveis. Até lá!
Ir para o topo Ir para baixo

[GAME MAKER]Aula 3 - Começando um jogo [Parte 1]

Ver o tópico anterior Ver o tópico seguinte Ir para o topo
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
The World of EverGrand :: Criadores de Jogos :: Game Maker 7 :: Tutoriais-