[Ajuda] Como fazer uma tela de Rank?

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

[Ajuda] Como fazer uma tela de Rank?

Mensagem por siri100 em Dom 05 Ago 2012, 19:50

Ola galer eu estou usando uma engine aki para criar o meu jogo e quando eu chego no goal point o jogo acaba eu gostaria se alguem pode me ajudar nisso. Bom a tela de rank q eu quero é q calcule os pontos da faze q acabei de passar e me de um rank, tipo S,A,B,C e D. Eu vi muitos outros topicos de Ranks mais nenhun deles tem oq eu quero estarei usando qualquer ajuda.

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por andrewsnycollas em Dom 05 Ago 2012, 22:12

A função:
Código:
highscore_show(numb)

Vai mostrar todo o rank, sendo que se o score atual for maior que algum deles, ele pede pra tu digitares um nome pra salvar.

O argumento "numb" deve ser o numero que vai entrar no highscore:
Se tu fores usar o teu "score" atual simples, é só por no lugar de "numb":

Exemplo:
Código:
highscore_show(score)

Dá pra complicar, eu tô levando em consideração, no meu game, o tempo de jogo, usando uma variavel propria eu uso assim:

Código:
highscore_show(score+(time*2))

Mas o que tu queres é mostrar no fim da fase um Rank(A,B,C,D,etc...) em relação à esse Score, certo?

Se for assim, tu precisas criar condicionais em relação ao Score, exemplo:
Código:
if score>=100{
controle_rank="S"}
if score<100{
controle_rank="A"

Depois, criar um draw para essa variável, exemplo:
Código:
draw_set_color(c_red)
draw_set_font(font0)
draw_set_halign(1)
draw_set_valign(1)
draw_text(x,y,controle_rank)

Ai é necessário definir a cor, a font, o alinhamento horizontal e vertical, e então o posicionamento e o texto, a string, no caso, a nossa variável.

Vale lembrar que se for por os códigos em objetos diferentes, é necessário transformar as variáveis em variáveis globais, é fácil, só adicione o seguinte ao nome da variável:
Código:
global.

Exemplo:
Código:
global.controle_rank

Espero que ajude, qualquer coisa pode perguntar, aqui mesmo que eu respondo logo. Smile

Lembrando que "score" já é um variável global.

andrewsnycollas

Número de Mensagens : 25
Idade : 26
Data de inscrição : 27/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://andrewsnycollas.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por siri100 em Seg 06 Ago 2012, 15:28

Cara eu tenho uma duvida, como eu irei usar isto? eu posso usar no codico da room? ou eu tenho q criar um obj e colocar o codigo?

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por andrewsnycollas em Ter 07 Ago 2012, 19:53

Então, é melhor criar um objeto, o código da room não foi feito pra códigos tão extensos, se usar lá, pode travar o carregamento da room. Smile

andrewsnycollas

Número de Mensagens : 25
Idade : 26
Data de inscrição : 27/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://andrewsnycollas.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por siri100 em Sab 25 Ago 2012, 16:18

bom eu tenho umas duvidas:
1º o obj q eu tenho q criar é tipo um obj mananger?
2º como eu faço para somar as pontuações de aneis e o score do jogo?
3º a cada rank o sprite do sonic faz uma animação diferente como eu faço para isso acontecer?
4º por ultimo o mais importante para saira da room apertando um botão depois q toda a ação ja foi feita.
desculpe nao explicar isso antes so me veio em mente agr vlw.

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por andrewsnycollas em Dom 26 Ago 2012, 20:34

Tá, deu pra sacar tudo, vejamos.

1 - Se com "Obj manager" tu queres dizer "um objeto para adiministrar algo" sim. Não precisa ter sprite, afinal o que vai aparecer é que o estará no draw.

2 - É possível adicionar no lugar de um argumento uma expressão. Como eu mostrei lá em cima. Exemplo:
Código:
highscore_show(aneis+score)

3 - Assim como para mostrar uma letra simbolizando um Rank, tu podes condicionar a animação do "Sonic" à ele. Exemplo:
Código:
if global.control_rank="S"{
sprite_index=sonic_pulando_de_alegria
}
Tu deves adicionar isso ao Sonic, lembrando que a variavel global pode estar em qualquer lugar, mas tem que ser global na fonte.

4 - No fim do teu script ou seja lá o que for, adiciona um
Código:
keyboard_waiting
pra poder continuar a tela, pode fazer esperar até que o Enter seja apertado para ir para a proxima room.

Se quiser mais ajuda, me add no Skype que eu te ajudo de boa. Ou então, me procura em Novembro no SBGames em Brasilia Happy

Skype: andrewsnycollas

andrewsnycollas

Número de Mensagens : 25
Idade : 26
Data de inscrição : 27/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://andrewsnycollas.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por siri100 em Sex 07 Set 2012, 14:49

Olá tenho mais algumas perguntas:

o codigo ficaria assim?
Código:
Create
highscore_show(global.Rings+score)
   
    if score>=50000{
    controle_rank="S"}
    if score<40000{
    controle_rank="A"}
    if score<30000{
    controle_rank="B"}
    if score<20000{
    controle_rank="C"}
    if score<10000{
    controle_rank="D"}

[code]Draw
Rank = global.control_rank

draw_set_color(c_red)
draw_set_font(font0)
draw_set_halign(1)
draw_set_valign(1)
draw_text(x,y,control_rank)

se estiver algo errado coriga pra min por favor.

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por KinKing em Sex 07 Set 2012, 15:39

A partir do segundo if, tem que ser "else if", se não apenas o último vai parecer ter efeito.

Se você conseguir mais que 10000, sem ser "else if," ele pode até passar por algum outro if, mas no final vai virar D de qualquer jeito.

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por andrewsnycollas em Dom 09 Set 2012, 07:35

Então, King King tá quase certo quando diz:
Se você conseguir mais que 10000, sem ser "else if," ele pode até passar por algum outro if, mas no final vai virar D de qualquer jeito.

Porem, não precisa de "else if", é só inverter o que tu fez, começa do menor para o maior, assim:
Código:
Create
highscore_show(global.Rings+score)
   
    if score<10000{
    controle_rank="D"}

    if score<20000{
    controle_rank="C"}

    if score<30000{
    controle_rank="B"}

    if score<40000{
    controle_rank="A"}

    if score>=50000{
    controle_rank="S"}

Assim, se for maior que 10000 a variavel recebe D, se for maior que 2000 ela vira C.. assim adiante.

Very Happy

andrewsnycollas

Número de Mensagens : 25
Idade : 26
Data de inscrição : 27/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://andrewsnycollas.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [Ajuda] Como fazer uma tela de Rank?

Mensagem por Conteúdo patrocinado Hoje à(s) 06:01


Conteúdo patrocinado


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