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
[TUTORIAL] Exemplo de Variáveis Globais em um mini jogo.
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[TUTORIAL] Exemplo de Variáveis Globais em um mini jogo.
Como vi neste forum existem explicações sobre as "tais" variáveis simples e globais, que de fato são explicações ótimas, bom mas pra quem ainda fico com alguma dúvida sobre elas, resolvi fazer este tutorial com exemplo de um mini jogo.
Nível de dificuldade - Conhecimento Mínimo de GML
Bom vamos la:
Primeiramente vamos criar os Sprites:
Escolha um sprite e de a ele o nome de "bola" sem as aspas
Crie outro sprite e de o nome a esse de "item" sem as aspas.
Mesmo procedimento, crie outro e de a esse o nome de "parede" sem as aspas.
Já temos os 3 sprites básicos do mini jogo, agora falta crias os objetos para eles:
Depois de criar o objeto, de dois cliques sobre ele, na janela que aparecer no
Name/Nome: Coloque "bola" sem as aspas.
Sprite: Clique no botão ao lado do quadro branco, escolha o sprite respectivo ao objeto que neste caso é a bola.
Dê OK.
Agora faça o mesmo procedimento de criar objetos, crie mais um, coloque no nome dele "item1" sem as aspas e selecione o sprite respectivo a ele o item.
Crie mais outro objeto, de a ele o nome de "parede" sem as aspas, e selecione o sprite respectivo a ele, que é a parede.
Dê OK para confirmar os objetos criados.
Pronto já temos os objetos "bola","item" e "parede", básicos para um jogo simples.
Agora vamos para a parte das variáveis, logo depois vamos definir o movimento da bola e as colisões.
Variáveis Globais e Simples:
Faça o procedimento de criar objetos, crie um objeto e dê a ele o nome de "Variaveis Globais" sem as aspas, não e necessário definir um sprite pra este objeto já que ele nem precisa ser visto, mas precisa estar presente na room.
Bom vamos lá, depois de criado o objeto, vamos criar o evento Other>Game Start, de dois cliques no objeto Variaveis Globais:
Já temos o evento agora vamos declarar as variáveis, crie um Execute a piece Code, de dois cliques nele e escreva o seguinte código:
global.diamantes=0
global.fase=0
Estão declaradas as variáveis Globais, lembre-se toda variável global vem no começo do nome global.
----------------------------------------------------------------------------------------
Agora volte nos objetos de dois cliques na bola, clique em Add Event e crie um evento de colisão com o item1, crie um execute a piece code, de dois cliques nele e escreva o seguinte código:
global.diamantes+=1 with (other) instance_destroy()
Explicando o código:
global.diamantes+=1 : Adiciona/Declara +1 na variável.
with (other) instance_destroy() : declara que o outro (other) other é o objeto que colidiu com a bola, neste caso seria o item1 se destrua "instance_destroy().
Confirme o código, dê Ok
-------------------------------------------------------------------------------------
Crie um objeto e dê a ele o nome de Condicao_fase1, não precisa de sprite, clique em Add Event e adicione o evento Step > Step, crie um Execute a piece Code, dê dois cliques e escreva o seguinte código:
if global.diamantes=5
{
global.fase+=1
room_goto_next()
}
-----------------------
Explicando o código:
if global.diamantes=5 : SE global.diamantes FOR igual a 5. CONDICAO
{ : Chave que abre uma CONDICAO
global.fase+=1 : Adiciona/Declara +1 na variável. ACAO
room_goto_next() : Ir para a próxima Sala(Room) ACAO
} : Chave que fecha uma CONDICAO
Confirme o código, Dê Ok
------------------------------------------------------------------------------
Agora vamos criar a Condicao_fase2, crie um objeto com este nome, não precisa ter sprite, cliquem em Add Event e adicione o evento Create, crie um Execute a piece of code, dê dois cliques nele e escreva o seguinte código:
if global.fase=1 instance_create(0,224,bola)
------------------------------------------
Explicando o código:
if global.fase=1 : SE global.fase FOR igual a 1.
instance_create (0,224,bola) : Cria um objeto nas seguintes coordenadas X = 0, Y = 224,bola.
-----------------------------------------------------------------------
Confirme o código mais ainda não dê Ok no Objeto, crie um outro evento, só que agora crie um Step > Step, crie um Execute a piece of Code, dê dois cliques e coloque o seguinte Código:
if global.diamantes=7 room_goto_next()
-----------------------------------------------------------------
Explicando o código:
if global.diamantes=7 : SE global.diamantes FOR igual a 7.
room_goto_next() : Ir para a próxima Sala(Room)
Confirme o código, Dê Ok.
-----------------------------------------------------------------
Agora vamos fazer o movimento da bola pra depois criarmos a fase.
Dê dois cliques na bola, vá em Add Event depois em Key Press e escolha, na aba Move, selecione o primeiro item e arraste-o até Actions.
Na janela que aparecer, em Directions selecione a seta < esquerda, e em speed coloque 4, de Ok.
Crie outro evento, só que agora Key Release e selecione, arraste o mesmo item para Actions o de Movimento, em directions você seleciona o Quadrado e deixa a velocidade em 0.
Agora é so fazer o mesmo para os outros lados: Direito, Cima e Baixo . A direction do Key Release sempre será o quadrado e com velocidade 0, isso fará que quando você solte a tecla a bola pare.
Confirme tudo, e antes de dar Ok, temos que criar a colisão com a parede
Crie um evento de colisão com a parede, arraste o primeiro item da aba Move, (o que você usou para ajustar o moviento da bola), em direction selecione o Quadrado e em velocidade 0, isso fará que quando a bola colida com a parede não a atravesse.
OBS: No objeto parede deixe marcado SOLID, ele fica do lado de VISIBLE.
Pronto agora confirme e dê Ok.
--------------------------------------------------------------------------------
Agora vamos montar nosso cenário:
Vá em Rooms, clique com o botão direito e clique em Add Room, agora e só usar sua criatividade e criar um cenário com seus objetos, lembre-se como o primeiro cenário tera de ter 5 items, como você declarou no objeto Condicao fase1, então coloque 5 items na fase onde bem quiser.
Não se esqueça de colocar o objeto Variaveis Globais na primeira Room.
A Condicao_fase1 vai na Room 1
A Condicao_fase2 vai na Room 2
Na Room 2 não precisa colocar o objeto bola, pois a Condicao_fase2 irá criá-la nas coordenadas X = 0 Y = 224.
----------------------------------------------------------------------------------------
É isso galera, espero que tenham gostado e que tenha tirado as dúvidas de quem tinha.
Créditos: CyberTrox
Créditos parte do Forum: Ao Lap que me tirou dúvidas sobre um projeto meu valeu ae, e toda a galera que posta os tutoriais ae, que ajudam.
Valeu Ate +
Nível de dificuldade - Conhecimento Mínimo de GML
Bom vamos la:
Primeiramente vamos criar os Sprites:
Escolha um sprite e de a ele o nome de "bola" sem as aspas
Crie outro sprite e de o nome a esse de "item" sem as aspas.
Mesmo procedimento, crie outro e de a esse o nome de "parede" sem as aspas.
Já temos os 3 sprites básicos do mini jogo, agora falta crias os objetos para eles:
Depois de criar o objeto, de dois cliques sobre ele, na janela que aparecer no
Name/Nome: Coloque "bola" sem as aspas.
Sprite: Clique no botão ao lado do quadro branco, escolha o sprite respectivo ao objeto que neste caso é a bola.
Dê OK.
Agora faça o mesmo procedimento de criar objetos, crie mais um, coloque no nome dele "item1" sem as aspas e selecione o sprite respectivo a ele o item.
Crie mais outro objeto, de a ele o nome de "parede" sem as aspas, e selecione o sprite respectivo a ele, que é a parede.
Dê OK para confirmar os objetos criados.
Pronto já temos os objetos "bola","item" e "parede", básicos para um jogo simples.
Agora vamos para a parte das variáveis, logo depois vamos definir o movimento da bola e as colisões.
Variáveis Globais e Simples:
Faça o procedimento de criar objetos, crie um objeto e dê a ele o nome de "Variaveis Globais" sem as aspas, não e necessário definir um sprite pra este objeto já que ele nem precisa ser visto, mas precisa estar presente na room.
Bom vamos lá, depois de criado o objeto, vamos criar o evento Other>Game Start, de dois cliques no objeto Variaveis Globais:
Já temos o evento agora vamos declarar as variáveis, crie um Execute a piece Code, de dois cliques nele e escreva o seguinte código:
global.diamantes=0
global.fase=0
Estão declaradas as variáveis Globais, lembre-se toda variável global vem no começo do nome global.
----------------------------------------------------------------------------------------
Agora volte nos objetos de dois cliques na bola, clique em Add Event e crie um evento de colisão com o item1, crie um execute a piece code, de dois cliques nele e escreva o seguinte código:
global.diamantes+=1 with (other) instance_destroy()
Explicando o código:
global.diamantes+=1 : Adiciona/Declara +1 na variável.
with (other) instance_destroy() : declara que o outro (other) other é o objeto que colidiu com a bola, neste caso seria o item1 se destrua "instance_destroy().
Confirme o código, dê Ok
-------------------------------------------------------------------------------------
Crie um objeto e dê a ele o nome de Condicao_fase1, não precisa de sprite, clique em Add Event e adicione o evento Step > Step, crie um Execute a piece Code, dê dois cliques e escreva o seguinte código:
if global.diamantes=5
{
global.fase+=1
room_goto_next()
}
-----------------------
Explicando o código:
if global.diamantes=5 : SE global.diamantes FOR igual a 5. CONDICAO
{ : Chave que abre uma CONDICAO
global.fase+=1 : Adiciona/Declara +1 na variável. ACAO
room_goto_next() : Ir para a próxima Sala(Room) ACAO
} : Chave que fecha uma CONDICAO
Confirme o código, Dê Ok
------------------------------------------------------------------------------
Agora vamos criar a Condicao_fase2, crie um objeto com este nome, não precisa ter sprite, cliquem em Add Event e adicione o evento Create, crie um Execute a piece of code, dê dois cliques nele e escreva o seguinte código:
if global.fase=1 instance_create(0,224,bola)
------------------------------------------
Explicando o código:
if global.fase=1 : SE global.fase FOR igual a 1.
instance_create (0,224,bola) : Cria um objeto nas seguintes coordenadas X = 0, Y = 224,bola.
-----------------------------------------------------------------------
Confirme o código mais ainda não dê Ok no Objeto, crie um outro evento, só que agora crie um Step > Step, crie um Execute a piece of Code, dê dois cliques e coloque o seguinte Código:
if global.diamantes=7 room_goto_next()
-----------------------------------------------------------------
Explicando o código:
if global.diamantes=7 : SE global.diamantes FOR igual a 7.
room_goto_next() : Ir para a próxima Sala(Room)
Confirme o código, Dê Ok.
-----------------------------------------------------------------
Agora vamos fazer o movimento da bola pra depois criarmos a fase.
Dê dois cliques na bola, vá em Add Event depois em Key Press e escolha
Na janela que aparecer, em Directions selecione a seta < esquerda, e em speed coloque 4, de Ok.
Crie outro evento, só que agora Key Release e selecione
Agora é so fazer o mesmo para os outros lados: Direito
Confirme tudo, e antes de dar Ok, temos que criar a colisão com a parede
Crie um evento de colisão com a parede, arraste o primeiro item da aba Move, (o que você usou para ajustar o moviento da bola), em direction selecione o Quadrado e em velocidade 0, isso fará que quando a bola colida com a parede não a atravesse.
OBS: No objeto parede deixe marcado SOLID, ele fica do lado de VISIBLE.
Pronto agora confirme e dê Ok.
--------------------------------------------------------------------------------
Agora vamos montar nosso cenário:
Vá em Rooms, clique com o botão direito e clique em Add Room, agora e só usar sua criatividade e criar um cenário com seus objetos, lembre-se como o primeiro cenário tera de ter 5 items, como você declarou no objeto Condicao fase1, então coloque 5 items na fase onde bem quiser.
Não se esqueça de colocar o objeto Variaveis Globais na primeira Room.
A Condicao_fase1 vai na Room 1
A Condicao_fase2 vai na Room 2
Na Room 2 não precisa colocar o objeto bola, pois a Condicao_fase2 irá criá-la nas coordenadas X = 0 Y = 224.
----------------------------------------------------------------------------------------
É isso galera, espero que tenham gostado e que tenha tirado as dúvidas de quem tinha.
Créditos: CyberTrox
Créditos parte do Forum: Ao Lap que me tirou dúvidas sobre um projeto meu valeu ae, e toda a galera que posta os tutoriais ae, que ajudam.
Valeu Ate +
CyberTrox- Data de inscrição : 05/01/2009
Reputação : 0
Número de Mensagens : 72
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido]Contador de variaveis globais em final de jogo
» [Mini Tutorial] - Deixar Jogo com Maior Fluidez
» O que são Variáveis Globais?
» Variáveis globais?
» Variaveis Globais
» [Mini Tutorial] - Deixar Jogo com Maior Fluidez
» O que são Variáveis Globais?
» Variáveis globais?
» Variaveis Globais
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos