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
#IAJ Aula 05 - Pontuação
+2
peninha-97
All-x
6 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
#IAJ Aula 05 - Pontuação
INTRODUÇÃO A JOGOS
Aula 05 - Pontuação
(Atualizado 08/02/2015)
Hoje vamos aprender a fazer uma pontuação para nosso jogo. Usaremos a variável global score para contar nossa pontuação.
Usaremos uma engine pronta, e estudaremos seus códigos:
Execute ela, veja que os objetos de pontuação são as bolinhas amarelas (dots). Veja também que temos dois marcadores, um marca a pontuação e o outro marca o número de dots coletados.
Agora vamos ao obj_controle no evento Game Start:
[GAME MAKER 8]
- Código:
//score inicial 0
score=0
//dots coletados são 0
global.dotss=0
//mostrar informação do jogo
show_info()
- Código:
//score inicial 0
score=0
//dots coletados são 0
global.dotss=0
//Não mostra highscore
global.show_hg = -1;
Aqui nós setamos a pontuação inicial em zero e o número de dots coletados que é representado pela variável global.dotss também em zero. E também mostramos a informação do jogo.
Pronto, agora já sabemos que toda vez que o jogo começar ou ser reiniciado a pontuação e o número de dots será zero.
Vamos ao objeto principal de pontuação, o obj_dot. No evento Collision com o obj_player:
- Código:
//destrói o objeto
instance_destroy()
Assim o obj_dot é destruido quando o player colidir com ele. Mas a lógica é, quando pegamos um dot adiciona 1 dot e alguns pontos na pontuação, certo? Então agora vamos ao evento Destroy (Ocorre quando o objeto é destruído) do obj_dot:
- Código:
//adicionando mais 15 pontos
score+=15
//adicionando mais 1 dot
global.dotss+=1
Bom, agora que já sabemos adicionar pontos, vamos aprender a desenhá-los na tela. Vá ao evento draw do obj_controle:
[GAME MAKER 8]
- Código:
//Seta cor branca
draw_set_color(c_red)
//Transparencia
draw_set_alpha(0.7)
//Pontos
draw_text(10,10,"Pontos: "+string(score))
//Dots
draw_text(320,10,"Dots: "+string(global.dotss))
/*Legenda:
-draw_set_color(c_red): cor vermelha
-draw_set_alpha(0.7): opacidade do texto
-draw_text(10,10,"Pontos: "+string(score))
10: posição x do texto
10: posição y do texto
"Pontos: ": é uma palavra, e quando desenhamos uma palavra, frase ou texto devem vir sempre entre apóstrofos.
+: este sinal indica que adicionaremos mais um texto ao texto anterior.
string(score): este é o texto que juntamos com "pontos: ", mas como score só guarda números, convertemos ele para
texto usando string().
Para quem tem o GM: Studio é mais complicado mostrar a tabela de highscore. Isso porque suas funções ficaram obsoletas, então eu coloquei para que quando você aperte ENTER a lista seja desenhada na tela com o script show_highscore:
- Código:
//Texto
draw_set_font(font_arial)
//Scores
draw_text_color(10,10,"Pontos: "+string(score),c_white,c_white,c_white,c_white,0.7)
//Dots
draw_text_color(320,10,"Dots: "+string(global.dotss),c_white,c_white,c_white,c_white,0.7)
//Se teclar a tecla <ENTER> aparece o Highscore
if keyboard_check_pressed(vk_enter)
{
//valor será -valor (Ou seja, se for 1 será -1 e se for -1 será 1)
global.show_hg = -global.show_hg
}
if global.show_hg == 1
{
show_highscore()
}
/*Legenda:
10: poisição x do texto
10: posição y do texto
"Pontos: ": é uma palavra, e quando desenhamos uma palavra, frase ou texto devem vir sempre entre apóstrofos.
+: este sinal indica que adicionaremos mais um texto ao texto anterior.
string(score): este é o texto que juntamos com "pontos: ", mas como score só guarda números, convertemos ele para
texto usando string().
HIGHSCORES:
Em quase todos os jogos temos o highscores (Pontuações máximas), que são as melhores pontuações feitas em um jogo. Agora vamos entender como é feito o sistema de highscores em nosso jogo.
O jogo é finalizado quando o player colidi com um inimigo ou coleta todas as dots.
Primeiro vamos ao evento Collision do player com o inimigo:
[GAME MAKER 8]
- Código:
//mostra quem fez mais pontos. E se você acabou de bater o recorde pode digitar seu nome
highscore_show(score)
//resetando o jogo
game_restart()
[GAMEMAKER: STUDIO]
- Código:
//Se você acabou de bater o recorde pode digitar seu nome
highscore_get_score()
//resetando o jogo
game_restart()
[GAME MAKER 8]
- Código:
//se o múmero de dosts for 0
if instance_number(obj_dot)=0
{
//mostra uma mensagem com o texto "Parabéns. Você venceu!"
show_message("Parabéns. Você venceu!")
//adiciona mais 100 pontos
score+=100
//mostra quem fez mais ponto. E se você acabou de bater o recorde pode digitar seu nome
highscore_show(score)
//resetando o jogo
game_restart()
}
- Código:
//se o número de dosts for 0
if instance_number(obj_dot)=0
{
//mostra uma mensagem com o texto "Parabéns. Você venceu!"
show_message("Parabéns. Você venceu!")
//adiciona mais 100 pontos
score+=100
//Se você acabou de bater o recorde pode digitar seu nome
highscore_get_score()
//resetando o jogo
game_restart()
}
Bom, a única novidade aqui é a função instance_number, ela guarda o número de instâncias de um mesmo objeto. Ela é como se fosse uma "variável" que conta o número de dots.
Links úteis:
[GEX - HIGHSCORE - WILLY]
https://gmbr.forumeiros.com/t24755-gex-willy-highscore-10
[SIGI - TUTO - CONTAGEM DE PONTOS - SIGILOSO]
https://gmbr.forumeiros.com/t17147-sigi-tuto-contagem-de-pontos
[RECORDES COM ARQUIVOS .INI - KAPOTY]
https://gmbr.forumeiros.com/t24637-sistema-de-recordes-com-arquivos-ini
Chegamos ao fim de mais uma aula, até a próxima!
Próxima aula: A definir
FLWS!
Última edição por Alex FC em Seg 09 Fev 2015, 19:55, editado 22 vez(es) (Motivo da edição : Atualização)
file not found
FILE NOT FOUND
Tem um link ?:?
:p
Tem um link ?:?
:p
peninha-97- Data de inscrição : 23/03/2012
Reputação : 1
Número de Mensagens : 2
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: #IAJ Aula 05 - Pontuação
Outro LInk plz ! =D
alucardcsn- Data de inscrição : 22/04/2012
Reputação : 1
Número de Mensagens : 10
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: #IAJ Aula 05 - Pontuação
arruma o link
Franck Cid- Data de inscrição : 12/10/2012
Reputação : 0
Número de Mensagens : 2
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: #IAJ Aula 05 - Pontuação
Affs que isso...outro link,assim não da para aprender nada nem as sprints cortadas você coloca.
Tenta fazer o upload no mediafire
Tenta fazer o upload no mediafire
Stroondero- Data de inscrição : 20/10/2012
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: #IAJ Aula 05 - Pontuação
Aula atualizada - 21/10/12:
- Melhora na grafia e explicação;
- Atualização das engines;
- Atualização das imagens.
Ps: As próximas aulas serão atualizadas em breve.
FLWS!
- Melhora na grafia e explicação;
- Atualização das engines;
- Atualização das imagens.
Ps: As próximas aulas serão atualizadas em breve.
FLWS!
Re: #IAJ Aula 05 - Pontuação
Muito Bom amigo agora sim rs'
Agora eu adoro seus tutoriais *-*
Muito bom mesmo!kk'
Ops:fui ver como o jogo ficaria.porque deu isso...
Eu sou novo nisso
Agora eu adoro seus tutoriais *-*
Muito bom mesmo!kk'
Ops:fui ver como o jogo ficaria.porque deu isso...
- Spoiler:
- ___________________________________________
ERROR in
action number 1
of Draw Event
for object controle:
Error in code at line 4:
draw_text_color(10,10,"Pontos: "+string(score),c_white,c_white,c_white,c_white,0.7)
^
at position 2: This function is not available in the Lite Edition.
Eu sou novo nisso
Stroondero- Data de inscrição : 20/10/2012
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: #IAJ Aula 05 - Pontuação
Stroondero escreveu:Muito Bom amigo agora sim rs'
Agora eu adoro seus tutoriais *-*
Muito bom mesmo!kk'
Ops:fui ver como o jogo ficaria.porque deu isso...
- Spoiler:
___________________________________________
ERROR in
action number 1
of Draw Event
for object controle:
Error in code at line 4:
draw_text_color(10,10,"Pontos: "+string(score),c_white,c_white,c_white,c_white,0.7)
^
at position 2: This function is not available in the Lite Edition.
Eu sou novo nisso
Isso aconteceu porque você está usandoa versão LITE. A função draw_text_color é só na PRO. Substitua o código por este:
- Código:
//Seta cor branca
draw_set_color(c_red)
//Transparencia
draw_set_alpha(0.7)
//Pontos
draw_text(10,10,"Pontos: "+string(score))
//Dots
draw_text(320,10,"Dots: "+string(global.dotss))
Bom você ter me lembrado isso. Vou revisar as aulas mais tardes e colocar códigos separados pra cada versão.
EDIT: A Aula agora tem os códigos tanto pra versão PRO, como pra versão LITE.
FLWS!
Re: #IAJ Aula 05 - Pontuação
Ae "Professor" eu copie todos os seus códigos certinho agora quanto eu tento entrar no jogo aparece:
ENGINE CHEAT CODE
COMANDOS:
Seta para cima: vai para cima
Seta para direita: vai para direita
Seta para baixo: vai para baixo
Seta para esquerda: vai para esquerda
C: Abre a digitação do código
ENTER: Confirma código
Exemplos de códigos:
vidas: adiciona 10 vidas
sangue cheio: deixa o health no máximo
Créditos à Pedro Henrique pela ajuda com a execução de códigos.
"O PRÊMIO POR UMA COISA BEM FEITA É TE-LA FEITO"
ALEX FERREIRA COSTA
ENGINE CHEAT CODE
COMANDOS:
Seta para cima: vai para cima
Seta para direita: vai para direita
Seta para baixo: vai para baixo
Seta para esquerda: vai para esquerda
C: Abre a digitação do código
ENTER: Confirma código
Exemplos de códigos:
vidas: adiciona 10 vidas
sangue cheio: deixa o health no máximo
Créditos à Pedro Henrique pela ajuda com a execução de códigos.
"O PRÊMIO POR UMA COISA BEM FEITA É TE-LA FEITO"
ALEX FERREIRA COSTA
Pedrin72- Games Ranking :
Notas recebidas : D
Data de inscrição : 30/01/2013
Reputação : 6
Número de Mensagens : 128
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Vídeo-Aula]Aula 4.1 - Usando funções básicas do draw
» Aula 3 - Puzzle - Todas os Modos da Aula 3 Aqui!
» [Vídeo-Aula] Aula 4 - Variáveis
» [Resolvido]Ajuda com nome de um botão
» Melhor pontuação
» Aula 3 - Puzzle - Todas os Modos da Aula 3 Aqui!
» [Vídeo-Aula] Aula 4 - Variáveis
» [Resolvido]Ajuda com nome de um botão
» Melhor pontuação
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos