[Pedido] Lista (Como a do Need for Speed)

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

[Pedido] Lista (Como a do Need for Speed)

Mensagem por Gonçalves em Qua 01 Dez 2010, 21:47

Oi, eu queria uma engine com uma listinha com nome e posição (variável pos). Claro, a váriavel eu mesmo crio, só queria mesmo saber como criar uma lista. A screen:



Até.

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por theokof98 em Qua 01 Dez 2010, 23:05

kra da pr fazer isso com a função draw_test do game maker 8 pro
da uma lida nisso q vc faz uma facil

theokof98

Ranking : Nota B
Número de Mensagens : 299
Idade : 28
Data de inscrição : 18/12/2009
Notas recebidas : D,B,C,B
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Gonçalves em Qua 01 Dez 2010, 23:50

TEXT?

Man, isso vai usar list...

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Janx em Qui 02 Dez 2010, 11:08

Fazer a lista não é complicado. O difícil é pegar quem está em qual posição. Isso sim vai dar mais trabalho!

Para a lista você pode usar uma Array:
Código:
colocacao[0] = Nome_Do_Primeiro
colocacao[1] = Nome_Do_Segundo
colocacao[2] = Nome_Do_Terceiro
colocacao[3] = Nome_Do_Quarto
...
..

Para desenhar a lista:
Código:
for (i=0; i<QUANTIDADE_DE_POSICOES_PARA_MOSTRAR; i+=1)
{
draw_text(10,10+17*i,string(i)+"º "+colocacao[i]);
}

Isso é um loop, que desenha cada uma das variaveis na tela. Vai ficar mais ou menos assim:
1º NOME
2º NOME
3º NOME
...

Flw

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por theokof98 em Qui 02 Dez 2010, 12:27

matheus.reis escreveu:TEXT?

Man, isso vai usar list...

kra, se vc qr criars algo na tela vc um uma função draw
se vc quer cria um nome a função text
a lista são varios nome um embaixo do outro

ex:
Código:

draw_text(view_xview[0]+10,view_yview[0]+10,[b]val_1colocado[/b])
draw_text(view_xview[0]+10,view_yview[0]+20,[b]val_2colocado[/b])
draw_text(view_xview[0]+10,view_yview[0]+30,[b]val_3colocado[/b])

pronto, vc vai ter na sua tela uma lista com cada colocado

theokof98

Ranking : Nota B
Número de Mensagens : 299
Idade : 28
Data de inscrição : 18/12/2009
Notas recebidas : D,B,C,B
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Gonçalves em Qui 02 Dez 2010, 12:34

Obrigado Janx!

theokof98, criar textos na tela eu sei, mas eu preciso criar uma list pra poder organizá-los (sort), devido à sua posição, entende?

Edit: Como usar o sort nessa hora? Pq tipo, a posição será decidida pela distancia do carro pra um ponto, como eu poderia organizá-los atráves de uma certa var que cada um deles tem? (Mas claro, sem que apareça na lista)

Edit2: Tá aparecendo a "colocação" 0, como removê-la?

Até.

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Janx em Qui 02 Dez 2010, 14:02

[quote="matheus.reis"
Edit2: Tá aparecendo a "colocação" 0, como removê-la?
[/quote]

Ops, falha minha...

for (i=0; i<QUANTIDADE_DE_POSICOES_PARA_MOSTRAR; i+=1)
{
draw_text(10,10+17*i,string(i+1)+"º "+colocacao[i]); //string(i+1) +1 pois a colocação começa do 1, não do 0!
}

Para pegar as posições você pode usar um sistema de checkpoint. Vários objetos invisiveis ao longo da pista que vão sendo contados. O player com o maior numero está na frente.
Se for uma corrida "Reta" fica mais facil... é só ver quem está mais alto ou mais "pro lado", mas acho que esse não é o caso, certo?

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Gonçalves em Qui 02 Dez 2010, 14:59

Vai ser o seguinte, por exemplo uma pista circular, terá quatro linhas ao longo dela, quando o carro passa por cima dela, sua var linhas aumenta em 1, esse é o primeiro parâmetro para checar quem tá na frente, e o segundo (ou de desempate) será a distancia para o próximo ponto, exemplo:

Carro A - 3 linhas e 200 distancia para a linha 4
Carro B - 3 linhas e 100 distancia para a linha 4
Carro C - 2 linhas e 50 distancia para a linha 3

Logo:

Carro B - 1º colocado
Carro A - 2º colocado
Carro C - 3º colocado

Aí eu quero que a lista posicione-os de acordo com as vars (só que eu não faço ideia alguma de como botar a var linhas como primeira e a distancia como parametro de desempate). Mas eu pensei numa forma de fazer isso, assim:

Carro A - 3 linhas e 200 distancia para a linha 4
Carro B - 3 linhas e 100 distancia para a linha 4
Carro C - 2 linhas e 50 distancia para a linha 3

Logo:

Carro A: 3*100 = 3000 - 200 = 2800 (Segundo)
Carro B: 3*100 = 3000 - 100 = 2900 (Primeiro)
Carro C: 2*100 = 2000 - 50 = 1950 (Terceiro)

Assim daria pra organizar.

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Janx em Qui 02 Dez 2010, 15:45

Hmm Hmm, é uma ótima idéia. Teoricamente parece funcionar!
Só falta colocar no jogo!

Você sabe como ordenar a lista?

Se preferir, pode usar ds_list
Ela possui uma função para organizar por ordem! (ds_list_sort)

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Gonçalves em Qui 02 Dez 2010, 17:42

Mas para ordenar necessitaria de essa var criada (3*100 = 3000 - 200 = 2800) ela deveria estar na lista, mas aí eu poderia botar como o último item da lista, escodendo no fim da tela...

Tem como usar o sort com aquilo que você me passou? (Acho que não é ds_list) Se não, pode me fazer uma engine? (Se não é pedir demais Surprised )
Daria num bom tutorial pra apostila.

Até.

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Pedido] Lista (Como a do Need for Speed)

Mensagem por Conteúdo patrocinado Hoje à(s) 18:27


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