Conectar-se
Quem está conectado
12 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 12 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 11/01/2014
Número de Mensagens : 284
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Sistema de 3 estrelas - Parte: 1

em Dom 14 Dez 2014, 21:05
Reputação da mensagem: 100% (1 votos)
Título: Sistema de 3 estrelas - Parte: 1
Versão do GM: GM:S
Requer Extensões: Não
Requer DLLs: Não
Dificuldade: Intermediário
Requerimento: Conhecimento em matrizes e vetores
Link para download da Engine: bit.ly 1Aa2nRr
Tags: Estrelas. Matriz. Mobile.

Funcionamento da engine:

Ao iniciar o jogo, o usuário deverá clicar no quadrado azul, a cada click o jogador ganha um ponto, ao clicar no quadrado vermelho, o jogo acaba informando a quantidade de estrelas conseguida.


O sistema de três estrelas é um artifício bastante utilizado em jogos mobile, onde o jogador poderá conquistar a cada fase esses itens, eles são usados como meio de estimulo ao jogador pois ele é tentado a conseguir todas as estrelas. Esse sistema foi consagrado por jogos como Angry Birds e Candy Crush Saga, podendo ser realizado de duas formas:

1. A quantidade de estrelas é proporcional à pontuação por fase (será ensinado hoje);
2. As estrelas são coletáveis;

Desenvolvi uma engine bem simples, que possui duas telas (tela inicial e uma fase). No jogo é necessário programar o click no botão, a transição de room’s, o ganho de pontos, entre outros, entretanto, iremos focar apenas na programação do nosso sistema de estrelas.

No “Create” do “obj_controle” iremos definir uma variável global usada como pontuação e uma matriz, que irá armazenar a quantidade de pontos necessária para conseguir cada estrela, observe:
Código:

//Variavel que será usada como pontuação
global.pontuacao = 0;

//Declarei uma matriz [fase, estrela]
globalvar estrela;

//Fase 1
estrela[0,0] = 1; //Para conseguir uma estrela;
estrela[0,1] = 6; //Para conseguir duas estrelas;
estrela[0,2] = 20; //Para conseguir três estrelas;

/*
Se a variação de pontos entre uma estrela e outra for uniforme, vc pode usar um for:

var i, pontos;
pontos = 10

for(i = 0; i < 3; i++) {
    estrela[0,i] = pontos;
    pontos += 10;
}
*/

Observe a representação da nossa matriz “Estrela”: finja que não coloquei "vetor" na imagem  

Note que neste exemplo eu poderia ter declarado um vetor, entretanto, no tutorial estou usando uma matriz pois ela deverá ser usada em jogos com duas fases ou mais, onde cada linha representa uma fase, e cada coluna uma estrela.

Observação:

Note que para conseguir uma estrela o usuário deve fazer apenas um ponto (na verdade, deveria ser zero), a primeira estrela deve ser aquela que possui uma pontuação mínima para passar a fase, você nunca passou uma fase do Angry Birds com zero estrelas.

Agora, é preciso configurar o “Create” do “obj_Estrela”, ela será a tela que será mostrada para o usuário, informando a quantidade de estrelas conseguidas.
Código:

if (global.pontuacao >= estrela[0,2]) { //Se a pontuação for maior ou igual a 20
    sprite_index = spr_3estrelas;
} else if ((global.pontuacao < estrela[0,2]) && (global.pontuacao >= estrela[0,1])) { //Se a pontuação for maior ou igual a 6
    sprite_index = spr_2estrelas;
} else { //Se a pontuação for menor que 6
    sprite_index = spr_1estrela;
}

Tela mostrada ao usuário (Angry Birds):

Bem, é isso, com esse tutorial você conseguiu criar um sistema simples de 3 estrelas por meio da pontuação, agora basta incrementar a engine, criando um vetor que armazena a quantidade de estrelas pegas por fase ou aumentando a quantidade de estrelas. Qualquer dúvida é só falar tongue


Última edição por vitorfernandes13 em Ter 23 Dez 2014, 17:33, editado 1 vez(es)
avatar
Data de inscrição : 12/04/2014
Número de Mensagens : 39
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sistema de 3 estrelas - Parte: 1

em Dom 14 Dez 2014, 21:26
Reputação da mensagem: 100% (1 votos)
Ótimo tutorial gostei muito, vai ajudar muitas pessoas parabéns!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum