Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor 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
Página 1 de 1
DÚVIDA: Strings e nomes de variaveis
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?
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- Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
as sprites ja estao compiladas no app ou voce importa?
itarodrigo- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
Eu não importo as sprites não. Uso as do projeto mesmo.
Mikasuki- Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
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
Evento que lê os dados (no meu caso é http)
Evento draw
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.
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- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
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:
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.
Criei a 1º sprite chamada spr0; depois spr1; depois spr2. Coloquei a spr2 na frente da spr1, ficando assim visualmente:
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.
Re: DÚVIDA: Strings e nomes de variaveis
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- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
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).
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- Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
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
ou diga +- o que seu jogo faz, pra ver se alguem lhe dá uma dica com uma lógica diferente
itarodrigo- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
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- Games Ranking :
Notas recebidas : A
Data de inscrição : 16/10/2011
Reputação : 7
Número de Mensagens : 268
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 1 x 0
Re: DÚVIDA: Strings e nomes de variaveis
Depois de quebrar um pouco a cabeça, consegui encontrar um outro caminho que dá no mesmo destino.
Obrigado a todos pela atenção!
Obrigado a todos pela atenção!
Mikasuki- Data de inscrição : 28/01/2010
Reputação : 0
Número de Mensagens : 33
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: DÚVIDA: Strings e nomes de variaveis
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- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido][Dúvida] Como fazer o GM procurar por strings dentro de variáveis ?
» Dúvida em strings e arquivos!!
» variaveis!!! duvida
» Dúvida sobre strings, lendo txt
» [Dúvida] Como importar strings de um arquivo .txt
» Dúvida em strings e arquivos!!
» variaveis!!! duvida
» Dúvida sobre strings, lendo txt
» [Dúvida] Como importar strings de um arquivo .txt
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos