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
Primeiro Jogo #2 - Detectar Objetos, Vida e Pontos
2 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Primeiro Jogo #2 - Detectar Objetos, Vida e Pontos
Crie seu Primeiro Jogo Completo #2
- Detectar Objetos, Vida, Pontos e Efeitos -
- Detectar Objetos, Vida, Pontos e Efeitos -
Título: Crie seu Primeiro Jogo Completo #2 - Detectar Objetos, Vida, Pontos e Efeitos
Versão do GM: Game Maker 8.0, 8.1 PRO e também GMS:Standard
Dificuldade: Fácil
Requer Extensões: Não.
Requer DLLs: Não.
Tags: Primeiro Jogo, Top Down, GML, Detectar Objetos, Colisões, Vida, Pontos.
Introdução
Eai pessoal, belezinha?
Continuando a série de Aulas para a criação de um game completo Top Down, vamos ver algumas formas de se Detectar e Coletar Itens, e outras coisitas mais...
Antes de começarmos é importante que você já tenha uma noção básica sobre o Game Maker e GML, que você poderá aprender acessando essas aulas do Alex FC. Além disso, através deste tópico gracioso você poderá baixar e jogar o jogo que criaremos durante as aulas, é legal para se conhecer tudo que iremos criar (no momento da criação dessa primeira aula o jogo estava na versão 1.0, pode ser que quando você ler esse tutorial o jogo possua mais funções).
Além disso essa é a parte #2 da criação, caso você não tenha feito a parte #1, CLIQUE AQUI
Criando Itens e Efeitos
Para continuarmos, vamos criar objetos para os itens coletáveis, como Moedas, Comida e Pedras Preciosas, e colocá-los dentro de um Grupo chamado Pontos e Vida, nenhum dos Objetos será sólido e deve ser atribuída a Máscara Mask (quadrado preto) a todos.
Para criar novos Grupos clique com o botão direito do Mouse e selecione Create Group.
Como já tratamos desse básico na Aula #1, segue uma imagem para referência apenas:
Para criarmos os Efeitos, usaremos objetos com sprites. Esse não é o melhor método, mas como nosso game é simples, ele funcionará bem. Repita os passos acima, exceto o passo da Máscara, pois nossos Efeitos não terão Colisão. O Resultado deve ser semelhante a isso:
Por hora vamos deixar todos esses Objetos sem programação alguma.
Definindo Novas Variáveis no obj_explo
Agora vamos adicionar duas variáveis ao obj_explo, serão 2 variáveis globais, sendo uma para controlar a vida e a outra os pontos. Esta que controla os pontos será alterada no futuro para evitar problemas, mas por hora não é necessário se preocupar com isso. Siga os passos:
1. Clique duas vezes no Piece of Code dentro do evento Create do obj_explo
2. Adicione o seguinte código abaixo do que fizemos na aula anterior:
- Código:
//Aula 02
global.vida=30 //Define a Vida para 30 (3 corações, futuramente)
global.pontos=0 //Define os pontos para 0 ao começar a Room, isso será alterado futuramente
Digite exatamente como está acima, lembrando que tudo que vem depois do // é comentário e deverá ficar colorido (geralmente verde). A explicação do uso de cada variável está no próprio código.
Segue a imagem para referência:
IMPORTANTE: Esse código foi definido no Evento CREATE do Objeto, isso significa que ele Define variáveis que não existam antes, porém toda vez que o Objeto for Criado (Create né...) essas variáveis serão redefinidas, além disso o Create acontece antes mesmo da Room carregar completamente. Por isso futuramente corrigiremos o global.pontos=0, porque se permanecer assim a cada nova fase o placar irá zerar novamente.
Dessa forma definimos as Novas Variáveis que nosso obj_explo usará.
Detectando Itens e Coletando
Existem várias formas de se fazer isso, mas no nosso game não criaremos Colisões: usaremos outra função do GM chamada distance_to_object(). O código será quase o mesmo em todos os nossos itens.
1. Abra o obj_10 e clique sobre Add Event > Step e então arraste um Piece of Code para o campo Actions
2. O Editor se abrirá novamente, insira nele este código:
- Código:
//COLISÕES
if distance_to_object(obj_explo)=0 //Se a distancia do Item para o Player for 0...
{
global.pontos+=10 //O Player ganha 10 Pontos extras
instance_create(x,y-8,obj_10pts) //É criado o Efeito 10pts um pouco acima do Item
instance_destroy() //O Item é "coletado" (na vdd é destruído)
}
Bem simples não é? Agora é só adicionar o mesmo código nos outros objetos, mudando apenas a quantidade de Pontos e o Efeito criado. Segue a lista de como configurar cada um:
Banana: global.pontos+=5; global.vida+=10; instance_create(x,y-8,obj_5pts)
Maça: global.pontos+=5; global.vida+=20; instance_create(x,y-8,obj_5pts)
obj_50: global.pontos+=50; instance_create(x,y-8,obj_50pts)
obj_100: global.pontos+=100; instance_create(x,y-8,obj_100pts)
obj_1000: global.pontos+=1000; instance_create(x,y-8,obj_1000pts)
obj_moeda: global.pontos+=5;
Eu acredito que não seja legal criar um Efeito para as Moedas, pois existem muitas no cenário, isso criaria uma grande poluição visual.
Tendo configurado todos objetos, já podemos ganhar pontos e aumentar a vida do jogador.
Animando os Efeitos
Nossa animação para os efeitos de Itens serão bastante simples: elas irão subir por aproximadamente 1 segundo e desaparecer.
1. Abra o obj_5pts e clique sobre Add Event > Create e então arraste um Piece of Code para o campo Actions
2. O Editor se abrirá novamente, insira nele este código:
- Código:
vspeed=-1.5 //Velocidade para cima de 1.5
alarm[0]=20 //Define o Alarm[0] para 20 frames/steps
/*sound_play(snd_pontos) futuramente tocará um som, estamos deixando o código como comentário para não dar bugs no game, mas também para não nos esquecermos dele.*/
4. Arraste para o campo Actions um Destroy Instance
Nos passos 3 e 4 nós adicionamos um Evento Alarm, que é como um despertador: ao Alarm chegar a 0 (lembrando que definimos ele como 20 Steps), algo acontece.
No caso adicionamos o Botão Destroy Instance, que é a mesma coisa que adicionar um Piece of Code e digitar instance_destroy() dentro dele, mas o botão acabou sendo mais prático
Agora repita o mesmo processo para outros Efeitos, porém no obj_1000pts substitua sound_play(snd_pontos) por sound_play(snd_diamante)
Com isso nossos Efeitos estarão completos.
Testando a Primeira Fase
Depois de configurar tudo, vamos testar.
Abra a Room0 e coloque mais paredes e distribua os itens conforme desejar. Após terminar, salve o Projeto como Aula02 e clique no Play Verde para testar. Tudo deve estar funcionando corretamente.
Segue uma imagem de referência:
Fim da Aula #2
Com isso finalizamos a Engine da Aula #2, peguei um pouco mais leve dessa vez para que você se acostume com a rotina de criar objeto > configurar > testar. Na próxima aula adicionaremos inimigos simples e poderemos começar a atirar
Obrigado por acompanhar essa aula e comente para dar uma força pro tópico!
E lembre-se: Dúvidas? Comente!
Última edição por dharrison em Ter 23 Set 2014, 11:45, editado 2 vez(es)
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: Primeiro Jogo #2 - Detectar Objetos, Vida e Pontos
E ai dharryson,
Cara, já estava na hora!! Estava ansioso pela continuação de seu tutorial.
Obrigado pela postagem e boa sorte com seu trabalho!
Cara, já estava na hora!! Estava ansioso pela continuação de seu tutorial.
Obrigado pela postagem e boa sorte com seu trabalho!
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Primeiro Jogo #2 - Detectar Objetos, Vida e Pontos
@Mateus
Vlw o apoio cara, e agora estou me organizando melhor, o tutorial continuará pelo menos semanalmente
Caso seja possível adicionar mais de um tutorial por semana eu farei
Vlw o apoio cara, e agora estou me organizando melhor, o tutorial continuará pelo menos semanalmente
Caso seja possível adicionar mais de um tutorial por semana eu farei
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Tópicos semelhantes
» [DUVIDA-INFELIZ!] COMO CRIAR REALMENTE A VIDA DO PERSONAGEM, DO ZERO!! {obs : já procurei e ñ consegui fazer a vida tá a muitos pontos negativos e num renicia o game}
» Pathfinding detectar objetos se movendo
» Dados de vida, pontos e munição.
» [Resolvido] Barra de Pontos, Vida, etc...
» barra de vida e pontos seguir o player
» Pathfinding detectar objetos se movendo
» Dados de vida, pontos e munição.
» [Resolvido] Barra de Pontos, Vida, etc...
» barra de vida e pontos seguir o player
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos