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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


DÚVIDA: Strings e nomes de variaveis

4 participantes

Ir para baixo

DÚVIDA: Strings e nomes de variaveis Empty DÚVIDA: Strings e nomes de variaveis

Mensagem por Mikasuki Ter 05 maio 2015, 17:16

Boa tarde galera!

Seguinte: trabalho com arquivos .ini no meu projeto. Uma das coisa que eu salvo nele são index de sprites. Faço isso por que o meu projeto possui centenas de personagens, e cada personagem tem várias cores de roupas, cabelo, etc. Cada personagem também tem uma sprite para cada animação: andando, pulando, batendo, abaixando, etc. Tudo dá uma 5 mil sprites!

Voltando ao arquivo .ini: eu salvo nele apenas as sprites de animação "parado". Em tempo de programação, eu pego o index dessa sprite e defino a qual família de esprite ela pertence (cor da roupa, cor do cabelo).

Acontece que o GMS, ao contrário do GM8, nem sempre usa as mesmas index tanto para sprites quanto para objetos. Como assim?!

Explicando: se eu rodar o jogo uma vez, o GMS atribui o index "3" a sprite "X". Se eu rodar de novo, o GMS pode atribuir o index "65454" a mesma sprite "X"!

Então não é muito confiável trabalhar diretamente com o número dos index. Minha dúvida é a seguinte: como eu faço para reconhecer uma string (já que o .ini trabalha com strings e reals) como o nome de uma variável em tempo de programação?

Explicando (ou tentando): eu quero salvar no .ini uma string "sprite_parado" e quero usar essa string como o nome da variável sprite_parado (que é um real).

Alguém tem ideia?
Mikasuki
Mikasuki

Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : DÚVIDA: Strings e nomes de variaveis 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por itarodrigo Ter 05 maio 2015, 17:43

as sprites ja estao compiladas no app ou voce importa?
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : DÚVIDA: Strings e nomes de variaveis Empty

Medalhas x 0 Tutoriais x 4 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por Mikasuki Ter 05 maio 2015, 17:55

Eu não importo as sprites não. Uso as do projeto mesmo.
Mikasuki
Mikasuki

Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : DÚVIDA: Strings e nomes de variaveis 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por itarodrigo Ter 05 maio 2015, 22:56

eu tambem uso um sistema parecido com o seu, mas ao inves de arquivo .ini, uso um banco de dados mysql.

quando eu pego as informacoes (cabelo, olho, corpo, etc), uso assim:

Evento Create
Código:
cabelo = 0;
olho = 0;
corpo = 0;

Evento que lê os dados (no meu caso é http)
Código:
cabelo = "informação lida";
olho = "informação lida";
corpo = "informação lida";

Evento draw
Código:
draw_sprite_ext(sp_cabelo,real(cabelo),x,y,1,1,0,c_white,1);
draw_sprite_ext(sp_olho,real(olho),x,y,1,1,0,c_white,1);
draw_sprite_ext(sp_corpo,real(corpo),x,y,1,1,0,c_white,1);

obs: uso uma sprite com todos os corpos, outra com todos os olhos, etc.
obs2: na função de desenhar a sprite, preciso converter o número pra real, pois ele lê como string e só retorna zero

faz uns testes aí e vê de funfa.

abraço.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : DÚVIDA: Strings e nomes de variaveis Empty

Medalhas x 0 Tutoriais x 4 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por theguitarmester Qua 06 maio 2015, 10:00

Pelo que eu saiba, ele deixa sempre o mesmo endereço para a sprite(e outros recursos), mas diferente do 8, ele não coloca os endereços por ordem de chegada, e sim por ordem em que aparece na lista. EX:

Criei a 1º sprite chamada spr0; depois spr1; depois spr2. Coloquei a spr2 na frente da spr1, ficando assim visualmente:

Action Sprite SPRITES<
spr0
spr2
spr1
>


No GM8, a ID delas será por assim:
spr0 = 0
spr2 = 2
spr1 = 1

Já no GMS, ficará assim:
spr0 = 0
spr2 = 1
spr1 = 2


Mas, nenhum deles troca a ID de uma sprite criada antes do jogo ser iniciado.


O que pode ser trocado são as IDs de intâncias.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2209
Prêmios : DÚVIDA: Strings e nomes de variaveis Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por itarodrigo Qua 06 maio 2015, 10:09

Pra eu poder te ajudar melhor, me informe como seu programa recebe a informação do arquivo .ini, qual valor a variável recebe (0 ou spr0)?
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : DÚVIDA: Strings e nomes de variaveis Empty

Medalhas x 0 Tutoriais x 4 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por Mikasuki Qua 06 maio 2015, 11:22

Então, as sprites ficam salvas no arquivo .ini nesse formato por exemplo: "3254.0000" (como um real). Só que eu quero me referir a ela não como este 3254 (que é o index), mas como "sprite_personagem" (que é o nome da variável). O sistema que você me apresentou é muito bom, mas não serve no meu projeto.

EDIT:

Quanto ao Theguitarmaster: sim, ele muda as index. Eu mesmo testei. Muda principalmente quando você cria uma nova sprite ou object. Ele não segue uma sequencia necessariamente, por exemplo: tenho 10 objects, criando outro, ele não atribui o index 11, ele atribui um index aleatório e sempre muda os index anteriores.

Antes de usar o GMS, eu usava o GM8. Eu fiz a migração e concertei alguns comandos que deixaram de ser usados. Não sei se isso influencia neste comportamento estranho do GM. Mas de qualquer forma, o que eu quero é algo como o comando "execute_code" que tinha no GM8 e descontinuou no GMS (rodava uma string como um comando GML, dessa maneira, eu poderia salvar as sprites como nome de variável).
Mikasuki
Mikasuki

Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : DÚVIDA: Strings e nomes de variaveis 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por itarodrigo Qua 06 maio 2015, 18:02

realmente, creio que voce terá que mudar a logica do seu sistema pra poder funcionar, pois assim, nao sei se é possível.

ou diga +- o que seu jogo faz, pra ver se alguem lhe dá uma dica com uma lógica diferente
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : DÚVIDA: Strings e nomes de variaveis Empty

Medalhas x 0 Tutoriais x 4 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por Neutral Qua 06 maio 2015, 20:09

Eu não entendi bem o que você quer fazer e pq vc quer usar uma string como nome de variável, e isso nem é mais possível no GMS. Aliás, essas funções do GM8 tipo execute_code são extremamente lentas e por isso é bom se manter bem longe delas, até porque de um modo geral SEMPRE existe uma alternativa melhor e mais limpa do que usá-las.
Neutral
Neutral

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 16/10/2011
Reputação : 7
Número de Mensagens : 268
Prêmios : DÚVIDA: Strings e nomes de variaveis 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 1 Insignia 3 x 0

Ir para o topo Ir para baixo

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por Mikasuki Qui 07 maio 2015, 14:37

Depois de quebrar um pouco a cabeça, consegui encontrar um outro caminho que dá no mesmo destino.

Obrigado a todos pela atenção!
Mikasuki
Mikasuki

Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : DÚVIDA: Strings e nomes de variaveis 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

Mensagem por itarodrigo Qui 07 maio 2015, 14:47

Mikasuki escreveu:Depois de quebrar um pouco a cabeça, consegui encontrar um outro caminho que dá no mesmo destino.

Obrigado a toidos pela atenção!

Isso mesmo, temos que aproveitar as funções que o sistema nos disponibiliza e adapta-las às nossas necessidades.

Esse é o segredo da lógica da programação.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : DÚVIDA: Strings e nomes de variaveis Empty

Medalhas x 0 Tutoriais x 4 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

DÚVIDA: Strings e nomes de variaveis Empty Re: DÚVIDA: Strings e nomes de variaveis

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