[TUTORIAL] Exemplo de Variáveis Globais em um mini jogo.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade [TUTORIAL] Exemplo de Variáveis Globais em um mini jogo.

Mensagem por CyberTrox em Dom 11 Jan 2009, 00:57

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. Very Happy


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 + Cool

CyberTrox

Número de Mensagens : 72
Idade : 27
Data de inscrição : 05/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum