Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
Transformar string em real
3 participantes
Página 1 de 1
Transformar string em real
Fala ai moçada, então, eu estou tentado transformar um numero maior em decimal, como por exemplo :
Desse jeito '0.'+valor
Desse jeito string(0.)+valor
Lembrando que o valor, é definido por várias variáveis junto a scripts, veja :
O Problema é que eu não to conseguindo, eu não sei se é Bug do GM, ou Bug do Thiago.
Até!
- Código:
542 vira 0.542
Desse jeito '0.'+valor
Desse jeito string(0.)+valor
Lembrando que o valor, é definido por várias variáveis junto a scripts, veja :
- Código:
scr_concatena(scr_arruma_tempo(global.minuto,false),scr_arruma_tempo(global.segundo,false),scr_arruma_tempo(global.milesimo,true))
O Problema é que eu não to conseguindo, eu não sei se é Bug do GM, ou Bug do Thiago.
Até!
Última edição por Funkbuster em Qui 03 maio 2012, 11:06, editado 3 vez(es)
Black Studio- Games Ranking :
Notas recebidas : C + C
Data de inscrição : 19/10/2011
Reputação : 9
Número de Mensagens : 337
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: Transformar string em real
Tente '0.' + string(valor).
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Transformar string em real
Deu certo pela metade Pedro, Tipo no tempo 00:09:654, ele virou 0,9654
Desse jeito 10 segundo seria menor que 2...
Edit : Talvez se eu adicionar os 0 conforme quantos dígitos tem de certo, vou testar aqui
Edit_2 : Exatamente, deu certo, valeu Pedro,pode fechar o tópico.
Deu outro erro, quando eu fui verificar os valores :
Can't compare arguments, o que isso significa? E como resolver?
Desse jeito 10 segundo seria menor que 2...
Edit : Talvez se eu adicionar os 0 conforme quantos dígitos tem de certo, vou testar aqui
Edit_2 : Exatamente, deu certo, valeu Pedro,
- Eis o código:
- Código:
tempo=scr_concatena(scr_arruma_tempo(global.minuto,false),scr_arruma_tempo(global.segundo,false),scr_arruma_tempo(global.milesimo,true))
if string_length(string(tempo))=1 then tempo='0.000000'+string(tempo)
if string_length(string(tempo))=2 then tempo='0.00000'+string(tempo)
if string_length(string(tempo))=3 then tempo='0.0000'+string(tempo)
if string_length(string(tempo))=4 then tempo='0.000'+string(tempo)
if string_length(string(tempo))=5 then tempo='0.00'+string(tempo)
if string_length(string(tempo))=6 then tempo='0.0'+string(tempo)
if string_length(string(tempo))=7 then tempo='0.'+string(tempo)
Deu outro erro, quando eu fui verificar os valores :
- Código:
___________________________________________
ERROR in
action number 2
of Step Event
for object obj_final_fase:
Error in code at line 23:
if tempo<=0.0010000 then ini_write_real("Levels","Level_1",0);
^
at position 12: Cannot compare arguments.
Can't compare arguments, o que isso significa? E como resolver?
Black Studio- Games Ranking :
Notas recebidas : C + C
Data de inscrição : 19/10/2011
Reputação : 9
Número de Mensagens : 337
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: Transformar string em real
Por que não dá para comparar números com strings.
Converta a string em numero usando real().
Converta a string em numero usando real().
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Transformar string em real
Eu suspeitei que até fosse isso, mas eu não consigo encontrar outro código real, alem de real, agora eu estou em dúvida de como converter porquê... Eu não sei como fazer isso :/ Se alguém puder me ajudar, eu vou ficar muito feliz x3 =)
Até!
Até!
Black Studio- Games Ranking :
Notas recebidas : C + C
Data de inscrição : 19/10/2011
Reputação : 9
Número de Mensagens : 337
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: Transformar string em real
Pare ai, não to entendendo o que você está fazendo.
Está querendo só formatar, comparar tempo que alguma coisa, ou transformar o tempo já formatado?
Está querendo só formatar, comparar tempo que alguma coisa, ou transformar o tempo já formatado?
Re: Transformar string em real
Vish, agora tá dificil de explicar, mas antes, eu queria que tivesse um 0, no numero, até ai tudo bem, mas eu queria usar IFs coisa e tal, para ver se tem record de tempo, só que daí, eu só consegui usando Strings! E com strings eu não posso fazer :
- Código:
if tempo<0,000134765 then medalhadaamizade=true
Black Studio- Games Ranking :
Notas recebidas : C + C
Data de inscrição : 19/10/2011
Reputação : 9
Número de Mensagens : 337
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: Transformar string em real
Você deveria evitar de usar números com mais de duas casas decimais no GM.
Se você precisa checar ou exibir tempo foque-se mais em milisegundos.
Um script que fiz:
Por exemplo quando uma fase começa você defini um variável tempo como 0 e a cada step aumenta mais um, então use o script caso a room_speed seja 60:
Se quer tempo real com as variaveis de tempo do GM é so definir o fps para 1000 (1 segundo = 1000 milisegundos).
Na hora de checar pontuação é fácil:
Não é uma boa idéia transformar o tempo em string e depois usar essa string pra comparação.
O ideal nesse caso, assim como mostrei, é uma variável unica que contem o valor do tempo e trabalhar só encima dela afinal é muito mas fácil guardar 6020 segundos do que 1 hora, 40 minutos e 20 segundos.
Se você precisa checar ou exibir tempo foque-se mais em milisegundos.
Um script que fiz:
- Código:
// time_step(steps,fps);
// retorna string com tempo
var str,s,m,h;
str = '';
s = floor((argument0/argument1) mod 60);
m = floor(((argument0/argument1)/60) mod 60);
h = floor((((argument0/argument1)/60)/60));
if h < 10 str += '0'+string(h);
else str += string(h);
str += ':';
if m < 10 str += '0'+string(m);
else str += string(m);
str += ':';
if s < 10 str += '0'+string(s);
else str += string(s);
return str;
Por exemplo quando uma fase começa você defini um variável tempo como 0 e a cada step aumenta mais um, então use o script caso a room_speed seja 60:
- Código:
// 1 segundo = 60 frames
draw(x,y,time_step(tempo,60))
Se quer tempo real com as variaveis de tempo do GM é so definir o fps para 1000 (1 segundo = 1000 milisegundos).
Na hora de checar pontuação é fácil:
- Código:
if tempo < 60*60 medalha = medalha_de_1minuto;
// ou
if tempo < 60*1000 medalha = medalha_de_1minuto;
Não é uma boa idéia transformar o tempo em string e depois usar essa string pra comparação.
O ideal nesse caso, assim como mostrei, é uma variável unica que contem o valor do tempo e trabalhar só encima dela afinal é muito mas fácil guardar 6020 segundos do que 1 hora, 40 minutos e 20 segundos.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos