GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


Game tipo manager

3 participantes

Ir para baixo

Game tipo manager Empty Game tipo manager

Mensagem por gluglu Sáb 21 Fev 2015, 19:52

Olá galera,

Estou aprendendo a desenvolver games através do GM e ultimamente tenho assistido a diversas videoaulas e lendo as postagens do fórum.

Pois bem, deparei-me com um problema e gostaria da ajuda de vcs para solucioná-lo. Em meu jogo preciso ordenar os times de um mesmo grupo por pontuação(cada time abaixo tá num objeto e a variável ponto deles vão aumentar, assim como no campeonato brasileiro)  antes de jogar para o DRAW:

var a=obj_palmeiras.pontos;
var b=obj_santos.pontos;
var c=obj_corinthians.pontos;
var d=obj_saopaulo.pontos;

Porém, não consegui pensar em uma maneira que não gere dezenas de linhas de código. Isso pq atualmente tenho apenas quatro times, mas minha intenção é criar vinte times onde todos jogam contra todos.

Desde já agradeço pela atenção!
gluglu
gluglu

Data de inscrição : 21/02/2015
Reputação : 0
Número de Mensagens : 2
Prêmios : Game tipo manager Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game tipo manager Empty Re: Game tipo manager

Mensagem por AG Hydra Sáb 21 Fev 2015, 21:00

Olá gluglu, tudo bem?

bom não compreendi sua dúvida muito bem... creio que deseje economizar memória com algum outro método, certo? bom, caso isto seja o caso, array's são uma boa escolha para isto. que no caso, ficaria assim:

Código:

aTime[0]=obj_palmeiras.pontos;
aTime[1]=obj_santos.pontos;
aTime[2]=obj_corinthians.pontos;
aTime[3]=obj_saopaulo.pontos;

isto te ajudará a economizar memória, sendo que não usa um método com várias variáveis, e sim... um array com vários índices, podendo neles ser armazenado algo. espero ter ajudado, até.
AG Hydra
AG Hydra

Data de inscrição : 23/04/2012
Reputação : 12
Número de Mensagens : 141
Prêmios : Game tipo manager Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game tipo manager Empty Re: Game tipo manager

Mensagem por gluglu Sáb 21 Fev 2015, 22:37

Olá, AC games.

Não seria bem isso. Não me expressei corretamente. Cada objeto(time) do meu jogo tem um variável (pontos) que eu gostaria de exibir no draw em ordem decrescente. Mas, eu não consegui pensar em nenhum código que comparasse e deixasse em ordem decrescente essas quatro variáveis mencionadas (obj_palmeiras.pontos, obj_saopaulo.pontos, obj_santos.pontos, obj_corinthians.pontos).

Isso pq são apenas quatro variáveis (quatro times), mas estou prevendo que meu jogo terá ao menos vinte times, ou seja, vinte variáveis pontos para serem comparadas e ordenadas.

Se puderem me ajudar com dicas de como programar isso ficaria muito grato!
gluglu
gluglu

Data de inscrição : 21/02/2015
Reputação : 0
Número de Mensagens : 2
Prêmios : Game tipo manager Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game tipo manager Empty Re: Game tipo manager

Mensagem por chicoweb Ter 24 Fev 2015, 17:27

Bom com arrays você vai ter que trabalhar sim;

Crie um obj_tabela, no create dele coloque:

Código:
// Pelo seu codigo ai tem que setar o vetor de times assim:
aTime[0] = obj_palmeiras
aTime[1] = obj_santos
aTime[2] = obj_corinthians
aTime[3] = obj_saopaulo

tam = 4 // Quantidade de times

// Esse codigo ordena o vetor pelos pontos
for (i = 1 ; i < tam ; i += 1){
    if (aTime[i].pontos > aTime[i - 1].pontos) {
          obj_temp = aTime[i]
          aTime[i] = aTime[i - 1]
          aTime[i - 1] = obj_temp
    }
}

Depois no draw coloque:

Código:
for (i = 0 ; i < tam ; i += 1){
    nome = object_get_name(aTime)
    pontos = aTime[i].pontos
    draw_text(x,y+(22*i),nome + " - " + string(pontos))
}

Importante: toda vez que quiser chamar a tabela crie ela em tempo real porque ele coleta os dados dos times no create, assim:

Código:
instance_create(100,100,obj_tabela)

Dica: Ao criar o time crie uma variavel dentro dele chamada "nome", ai vc coloca tipo "São Paulo", e na hora do draw, substitui o:

Código:
nome = object_get_name(aTime)

por

Código:
nome = aTime.nome
chicoweb
chicoweb

Games Ranking : Nota C

Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios : Game tipo manager Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Game tipo manager Empty Re: Game tipo manager

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos